最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Display php variable into a JavaScript popup box - Stack Overflow

programmeradmin0浏览0评论

I have a php file which connects to a MySql db and read the last entry from a specific table. What I am trying to do, is to display(echo) the last entry from the table using a JavaScript popup box into the external html file Below I have the code for the PHP file (which is working fine) and the html one but unfortunately I can't figure out how to pass the PHP variable to JavaScript function.

Many thanks in advance.

The php file would be this one:

    <?php

    // 1. Create a database connection
    $connection = mysql_connect("localhost","root","password"); 
    if (!$connection) {
        die("Database connection failed: " . mysql_error());
    }

    // 2. Select database to use 
    $db_select = mysql_select_db("manage_projects",$connection);
    if (!$db_select) {
        die("Database selection failed: " . mysql_error());
    }

    // 3. Perform database query
    $result = mysql_query("SELECT survey_desc FROM subjects ORDER BY id DESC LIMIT 0,1", $connection);
    if (!$result) {
        die("Database query failed: " . mysql_error());
    }

    // 4. Use returned data
    while ($row = mysql_fetch_array($result)) {
        echo $row["survey_desc"]."<br />";
    }

    // 4.1 Alternative way to use returned data
    /* $row = mysql_fetch_array($result);
    echo $row["survey_desc"]."<br />";
    */

    // 5. Close connection
    mysql_close($connection);
?>

The html file:

    <html>
<head>
<script type="text/javascript src="myscript.php"">

    //if clicked Yes open new page if Cancel stay on the page 
    function popup(){
    var r=confirm("echo the php query here");
        if (r==true)
            {
            window.location = "";
            }       
}
</script>
</head>
<body onload ="popup()">

</body>
</html>

I have a php file which connects to a MySql db and read the last entry from a specific table. What I am trying to do, is to display(echo) the last entry from the table using a JavaScript popup box into the external html file Below I have the code for the PHP file (which is working fine) and the html one but unfortunately I can't figure out how to pass the PHP variable to JavaScript function.

Many thanks in advance.

The php file would be this one:

    <?php

    // 1. Create a database connection
    $connection = mysql_connect("localhost","root","password"); 
    if (!$connection) {
        die("Database connection failed: " . mysql_error());
    }

    // 2. Select database to use 
    $db_select = mysql_select_db("manage_projects",$connection);
    if (!$db_select) {
        die("Database selection failed: " . mysql_error());
    }

    // 3. Perform database query
    $result = mysql_query("SELECT survey_desc FROM subjects ORDER BY id DESC LIMIT 0,1", $connection);
    if (!$result) {
        die("Database query failed: " . mysql_error());
    }

    // 4. Use returned data
    while ($row = mysql_fetch_array($result)) {
        echo $row["survey_desc"]."<br />";
    }

    // 4.1 Alternative way to use returned data
    /* $row = mysql_fetch_array($result);
    echo $row["survey_desc"]."<br />";
    */

    // 5. Close connection
    mysql_close($connection);
?>

The html file:

    <html>
<head>
<script type="text/javascript src="myscript.php"">

    //if clicked Yes open new page if Cancel stay on the page 
    function popup(){
    var r=confirm("echo the php query here");
        if (r==true)
            {
            window.location = "http://example.";
            }       
}
</script>
</head>
<body onload ="popup()">

</body>
</html>
Share Improve this question asked Mar 19, 2012 at 14:29 DanielDaniel 231 silver badge4 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 4

You can echo into JavaScript:

var r=confirm("<?php echo $relevant_variable; ?>");

Also it's not remended to use die() in a production environment.

<head>
<script type="text/javascript">
function popup(){
    var xhr=null;

    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange = function() {
      if(xhr.readyState == 4){ alert_ajax(xhr); }
     }
    xhr.open("GET", "myscript.php", true);
    xhr.send(null);
}
function alert_ajax(xhr){
   var docAjax= xhr.responseText;
   r=confirm(docAjax);

        if (r==true)
            {
                window.location = "http://example.";
            }
}
</script>
</head>

Use PHP's json_encode()-function:

var r = confirm(<?php echo json_encode("the php query here"); ?>);

It escapes for you and always produces valid JavaScript, since JSON is a subset of the JavaScript syntax.

<?php 
    // Your php code;
    $myVar="your value that you want to pass to js";
?>
<html>

    <head>
     <script>
        //if clicked Yes open new page if Cancel stay on the page 
        function popup(){
        var mvar = '<?php echo $myVar ;?>';
        var r=confirm(mvar);
        if (r==true)
        {
            window.location = "http://example.";
        }       
    }
    </script>
</head>
    <body onload ="popup()">

    </body>
</html>

Just bine your both files in one php file.

发布评论

评论列表(0)

  1. 暂无评论