如何将PHP/mysqli数据传递到JavaScript?

z31licg0  于 4个月前  发布在  PHP
关注(0)|答案(1)|浏览(46)

此问题在此处已有答案

How do I pass variables and data from PHP to JavaScript?(20个回答)
JSON encode MySQL results(15个回答)
4年前关闭。
我正在做一个项目,它有一个Map标记列表。我想从php数据库传递数据到Map的值。代码的Map部分使用JavaScript。当手动输入时,标记的javascript应该像这样:

var locations = [
         [
          "Place 0",
          47.06330, -102.34702,
          0,
          "",
          "",
          "",
          ""],
         [
          "Place 2",
          -27.37025, 133.44892,
          1,
          "",
          "",
          "",
          "found"],
      ];

字符串
我尝试过使用echo语句。下面是我尝试的mysqli和JavaScript的组合.

var locations = [
    <?php
        while($res = mysqli_fetch_array($result)) {
            echo "[";
            echo "'".$res['name']."',";
            echo "".$res['lat'].", ".$res['lng'].",";
            echo "".$res['id'].",";
            echo "'',";
            echo "'',";
            echo "'',";
            echo "''],";
        }
    ?>
    ];


给予我没有任何错误,但是Map上没有显示标记,所以它看起来不工作。我在html代码的其他地方使用了mysqli语句,它正确地连接,所以我知道这不是问题。我看了其他几篇关于结合php和JavaScript的文章,但是我仍然不清楚如何解决这个问题。任何指导都非常感谢!

t1qtbnec

t1qtbnec1#

与其直接输出JavaScript结构,不如创建一个具有适当结构的PHP数组,然后输出json_encode($array)。在您的示例中:

$locations = array();
while($res = mysqli_fetch_assoc($result)) {
    $locations[] = array($res['name'], $res['lat'], $res['lng'], $res['id'], '', '', '', '');
}
echo "var location = " . json_encode($locations) . ";";

字符串

相关问题