簡體   English   中英

從php數組獲取javascript變量值

[英]getting javascript variable value from php array

  1. 我的 javascript 正在地圖上填充標記,為此我需要位置,這是我按照下面給出的格式從 php 文件生成的
  2. 我想在javascript數組中動態獲取php數組的結果
      <script type="text/javascript">
        var locations = /// i want here the output as shown below from the php file

    var locations = [["Vidyasagar","28.6139391","77.20902120000005"],
         ["Pushpadantsagar","21.4598","80.195"],
         ["Tarunsagar","28.638","77.2936"],
         ["Samyaktbhushan","20.593684","78.96288000000004"],
         ["Pavitrasagar","23.2836","79.2318"],
         ["Prayogsagar","23.2836","79.2318"],
         ["Arunsagar","30.016","77.4"]];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 7,
      center: new google.maps.LatLng(23.2836,79.2318),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
      });

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
    </script>

和 php 文件是這個

    <?php
    $servername = "localhost";
    $username = "root"; 
    $password = "";
    $dbname = "jainmunilocator";
    $connection=mysqli_connect($servername, $username, $password, $dbname);;
    if (!$connection) {
         die("Connection failed: " . mysqli_connect_error());
    }
    $array = array();
    $sql = "SELECT name,id,lat,lng FROM muni_location,munishri WHERE mid=id AND lat<>0";
    $result=mysqli_query($connection,$sql);
    $i=0;

    while($row = mysqli_fetch_assoc($result)){
        if(isset($row)){
            $array[$i][0]=$row['name'];
            $array[$i][1]=$row['lat'];
            $array[$i][2]=$row['lng'];
            $i++;
        }
    }
    echo json_encode($array);
    ?>

您將需要使用 ajax 調用。 是 Stack Overflow 上的一個問題,其中有一些 ajax 調用 php 頁面的示例。

請記住,您需要包含一個 jQuery 庫來執行此操作,或者您可以按照此問題進行操作以在沒有 jQuery 的情況下進行 ajax 調用。

您可以使用 PHP 將變量輸出到隱藏輸入字段的value屬性中,並將它們編碼為 JSON。 然后,使用 Javascript 使用JSON.parse從隱藏輸入字段的 value 屬性解碼 PHP 變量。 然后,您可以從 DOM 中刪除該元素。

訣竅是將 PHP 變量回顯到 javascript 中。 由於之前處理過Php,輸出正確的Js。

<script>
   var locations = array(<?= $VAR ?>);
</script>

在這種情況下,$VAR 必須類似於 $VAR = "'barcelona','madrid','london'"; 調整 $VAR 使其生成正確的輸出。 如果您只需要它,則無需使用 JSON 編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM