【问题标题】:getting javascript variable value from php array从 php 数组中获取 javascript 变量值
【发布时间】:2015-06-27 11:04:55
【问题描述】:
  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);
    ?>

【问题讨论】:

    标签: javascript php arrays


    【解决方案1】:

    您将需要使用 ajax 调用。 Here 是 Stack Overflow 上的一个问题,其中有一些 ajax 调用 php 页面的示例。

    请记住,您需要包含一个 jQuery 库来执行此操作,或者您可以按照this question 进行操作,以便在没有 jQuery 的情况下进行 ajax 调用。

    【讨论】:

      【解决方案2】:

      您可以使用 PHP 将变量输出到隐藏输入字段的 value 属性中,并将它们编码为 JSON。然后,使用 Javascript 使用 JSON.parse 从隐藏输入字段的 value 属性中解码 PHP 变量。然后,您可以从 DOM 中删除该元素。

      【讨论】:

        【解决方案3】:

        诀窍是将 PHP var 回显到 javascript 中。由于之前处理过php,输出正确的js。

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

        在这种情况下,$VAR 必须类似于 $VAR = "'barcelona','madrid','london'"; 调整 $VAR 使其生成正确的输出。如果您只需要它,则无需使用 JSON 编码。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-04-24
          • 2013-03-06
          • 2015-08-30
          • 2016-02-26
          • 2021-09-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多