如何在javascript函数中使用PHP中的javascript变量

how to use javascript variable in php inside a javascript function

本文关键字:javascript PHP 中的 变量 函数      更新时间:2023-09-26

我试图获取JavaScript变量"i"在我的PHP代码内的JavaScript函数在下面的代码,我发现在检索记录的问题,无论是第一个记录或最后一个记录重复,而不是在数据库中的所有记录。你们能帮帮我吗?由于

      <?php
         $query21 = $mysqli->query("SELECT * FROM register");
         $nr      = mysqli_num_rows($query21);
         while ($row = mysqli_fetch_assoc($query21)) {
         $results[] = $row;
             }
        ?>


<script language="javascript" type="text/javascript">

var intervalID = 0;
    var time = 10;
    MsgPop.displaySmall = true;
    MsgPop.position = "bottom-right";
    $(document).ready(function(){
        var test = MsgPop.open({
        Type:            "success",
        AutoClose:        true,
        Content:        "Welcome to MsgPop!"});
        MsgPop.live();
    });
  function showMessages(){    
        var n = '<?php
echo $nr;
?>';
        var i = 0;

        while (i < n){
                var name = '<?php
echo $results[i]['name'];
?>';

        MsgPop.open({
        Type:            "success",
        Content:        name,
        AutoClose:        false});
    i++;
    }
</script>

首先,您必须创建一个php文件,返回相同的数组。文件包含

$query21 = $mysqli->query("SELECT * FROM register");
$nr = mysqli_num_rows($query21);
while ($row = mysqli_fetch_assoc($query21)) {
    $results[] = $row;
}
echo json_encode($results);
exit;

现在你必须从javascript代码中使用ajax调用这个文件。

$.ajax({
  type: "POST",
  url: "sql.php",  //your file url
})
.done(function (data) {
    //you get your array data(json format)
});

现在你得到了json格式的ajax响应数组你可以对这些数据做任何事情

不可能: PHP是一种服务器端语言,只能在服务器端运行。但是javascript是一个客户端脚本,它只能在你的浏览器上运行。Php只根据您的请求给出响应。php的滚动在服务器端结束。但javascript工作与您的响应,也就是说,javascript只能在浏览器工作。

您可以尝试使用AJAX,否则它不会发生。就像刚才说的,PHP只支持服务器端…好运!

PHP无法获取javascript变量。你应该试试另一种策略。

在服务器端(PHP),尝试将$ results存储在javascript变量中。

var results = '<?php echo json_encode($results); ?>';

然后在浏览器端,尝试使用javascript函数访问数据。

var name = results[i]['name'];