Javascript PHP在google地图上显示多维数组值

Javascript PHP在google地图上显示多维数组值,javascript,php,implode,Javascript,Php,Implode,有人能帮我吗,我对PHP很陌生,也许答案很明显 我将用户的详细信息和邮政编码存储在数据库中,然后我需要使用javascript将邮政编码显示为google地图上的标记,这是可行的 但我试图在谷歌地图的信息窗口中显示每个用户的数据,我只能显示结果的最后一行,所以所有信息窗口都显示相同的记录,而不是该邮政编码的单个数据 我想我需要把下面两个问题结合起来,但我不知道怎么做。因为邮政编码需要内爆才能在地图上显示 我正在努力实现的目标: 数据库中的内容: PHP: Javascript: 你的问题在这里:

有人能帮我吗,我对PHP很陌生,也许答案很明显

我将用户的详细信息和邮政编码存储在数据库中,然后我需要使用javascript将邮政编码显示为google地图上的标记,这是可行的

但我试图在谷歌地图的信息窗口中显示每个用户的数据,我只能显示结果的最后一行,所以所有信息窗口都显示相同的记录,而不是该邮政编码的单个数据

我想我需要把下面两个问题结合起来,但我不知道怎么做。因为邮政编码需要内爆才能在地图上显示

我正在努力实现的目标:

数据库中的内容:

PHP:

Javascript:

你的问题在这里:

try {
     $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $locations = $conn->prepare("SELECT postcode FROM tbl_data"); 
     $locations->execute();
     $lo= $locations->fetchAll(PDO::FETCH_COLUMN);
     echo  "'". $t = implode(' ,', $lo)."'";// working

    //info window
    $info_stmt = $conn->prepare("SELECT name, postcode FROM tbl_data, tbl_login WHERE tbl_data.user_id=tbl_login.user_id ");
    $info_stmt->execute();

    echo $info_stmt->fetchAll();

    } catch(PDOException $e) {
        echo "Error: " . $e->getMessage();
    }
然后,您的JavaScript:


输出现在是所有结果的数组,可以使用。

$row是这样使用的:$row['columnName']感谢您的回复@KyleE4K yes,当我尝试使用javascript调用此结果时,仅显示所有信息窗口的最后一条记录,我不知道如何将每个邮政编码链接到该数据行。我想我应该使用sql查询链接ID,它在phpmyadmin中工作,但在marker info窗口中不工作。非常感谢,我现在正在尝试这一点,这不是问题,但我建议不要回显$row,也不要回显它。回显整个数组,然后在响应中,可以将其用作数组。参见编辑答案中的示例代码
name       Fred           Ann         John
address    7 street      8 road       4 line
postcode   AA4 1DD       AB1  5CD     CC4 1BB
         try {
         $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
         $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $locations = $conn->prepare("SELECT postcode FROM tbl_data"); 
         $locations->execute();
         $lo= $locations->fetchAll(PDO::FETCH_COLUMN);
         echo  "'". $t = implode(' ,', $lo)."'";// working

        //info window
        $info_stmt = $conn->prepare("SELECT name, postcode FROM tbl_data, tbl_login WHERE tbl_data.user_id=tbl_login.user_id ");
        $info_stmt->execute();

        $result = $info_stmt -> fetchAll();

          foreach( $result as $row ) {
              echo $row[0];
           /*   echo "<pre>";
              echo gettype($row[0]);
              echo "</pre>";*/
          }

        } catch(PDOException $e) {
         echo "Error: " . $e->getMessage();
         die();
         }
 var addressArray = new Array(<?php echo "'". $t = implode("' ,'", $lo)."'"; ?>); //postcodes working


    var geocoder = new google.maps.Geocoder();
         for (var i = 0; i < addressArray.length; i++) {
            geocoder.geocode( { 'address': addressArray[i]}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var marker = new google.maps.Marker({
                    map: map,
                    position: results[0].geometry.location,
                    title: 'Click for more details'
                });

               //create info window 
            var infoWindow = new google.maps.InfoWindow({
                content: "<p>Name: </p><?php echo $row[0].'<br />'.$row[1]; ?>"
            });
 content: "<p>Food Name: </p><?php echo $row[0].'<br />'.$row[1]; ?>"
try {
     $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $locations = $conn->prepare("SELECT postcode FROM tbl_data"); 
     $locations->execute();
     $lo= $locations->fetchAll(PDO::FETCH_COLUMN);
     echo  "'". $t = implode(' ,', $lo)."'";// working

    //info window
    $info_stmt = $conn->prepare("SELECT name, postcode FROM tbl_data, tbl_login WHERE tbl_data.user_id=tbl_login.user_id ");
    $info_stmt->execute();

    echo $info_stmt->fetchAll();

    } catch(PDOException $e) {
        echo "Error: " . $e->getMessage();
    }
$(document).ready(function () {
   var output[];
   $.get("phpfile.php")
     .done(function(data) {
       output = data;
     });
});