我在百度上问过这个问题 但没有什么满意的答案 所以再来问问这里的高人
就是这一段程序 我解释一下: 前面还有连接数据库 select语句 以及while语句等等  然后就开始表格了
<td align="center">suivi</td>  // 这之前是表格的其他几列 一切正常就不写了
  <td align="center" id="res" >  //从这里开始 是有问题的这一列
  <?php
$sql1="select positionx,positiony from data where imei=$quimei;";
$res1=mysql_query($sql1);
while($row1=mysql_fetch_array($res1))
{
 $arrayx=$row1['positionx'];
      $arrayy=$row1['positiony'];        //  这一段是为了从数据库取出下面js要用的值
}  echo $arrayx;
 echo $arrayy;                //这两句只是为了验证之前表格和数据库的操作是否正常 证明是正常的
?>
<script type='text/javascript'>    //从这开始 我想执行一段js 
 var readpointx = <?php echo json_encode($arrayy);?>;
 var readpointy = <?php echo json_encode($arrayx);?>;
      var geocoder = new google.maps.Geocoder();
      var addre;
      geocoder.geocode({location:new google.maps.LatLng(readpointx, readpointy)},function geoResults(results, status){
      var addre=results[0].formatted_address;
 //document.write(addre);
 window.document.getElementById("res").innerHTML=addre; 
 });</script> </td>  // 有问题的这一列结束
 <td align="center"> </td>  //这是之后的其他列 不用管它显示的时候 在表格有问题的这一列的第一行 js 起作用了 但显示的是这一列最后一行应该现实的数据 也就是数据库循环输出到最后一次使得数据 被js采用了 但我想php每循环一次 都调用一次这段js 该怎么办啊 
我不是学计算机编程什么的 所以有很多概念混淆不清  我只知道php 和js 执行顺序不同  一个服务器 一个客户端 但是要想js像php一样跟着循环执行 该怎么办啊 是不是要用ajax之类的 我也不懂  求前辈指教PHPJavaScriptajax

解决方案 »

  1.   

    <?php
    while($row1=mysql_fetch_array($res1))
    {
     $arrayx=$row1['positionx'];
          $arrayy=$row1['positiony'];        //  这一段是为了从数据库取出下面js要用的值
        ?>
       <script type='text/javascript'>    //从这开始 我想执行一段js 
     var readpointx = <?php echo json_encode($arrayy);?>;
     var readpointy = <?php echo json_encode($arrayx);?>;
          var geocoder = new google.maps.Geocoder();
          var addre;
          geocoder.geocode({location:new google.maps.LatLng(readpointx, readpointy)},function geoResults(results, status){
          var addre=results[0].formatted_address;
     //document.write(addre);
     window.document.getElementById("res").innerHTML=addre; 
     });</script>

        
        
    <?
    }
    ?>
      

  2.   

    关键 readpointx readpointy 期望是什么样的json数据呢
      

  3.   

    <td align="center">suivi</td>  // 这之前是表格的其他几列 一切正常就不写了
      <td align="center" id="res" >  //从这里开始 是有问题的这一列
      <?php
    $sql1="select positionx,positiony from data where imei=$quimei;";
    $res1=mysql_query($sql1);
    $result = array();
    while($row1=mysql_fetch_array($res1)){
     $result[] = array('x'=>$row1['positionx'],'y'=>$row1['positiony']);
    }
    ?>
    <script type='text/javascript'>    //从这开始 我想执行一段js 
    var points = <?php echo json_encode($result);?>;
    var geocoder;
    for(var i in points){
      geocoder = new google.maps.Geocoder();       
      geocoder.geocode({location:new google.maps.LatLng(points[i].x, points[i].y)},function geoResults(results, status){
      document.getElementById("res").innerHTML=results[0].formatted_address;
     });
    }
    </script>
      

  4.   

    有人说把js写成函数调用所以我改了下我的程序。
    <script type='text/javascript'>    //js作为函数写在外面
    function address(readpointx, readpointy){ 
    document.write(readpointx, readpointy); //这句是为了验证js函数时候收到php传来的值                                   发现能收到
    var geocoder = new google.maps.Geocoder();
            var addre;
            geocoder.geocode({location:new google.maps.LatLng(readpointx, readpointy)},function geoResults(results, status){
           var addre=results[0].formatted_address;
            //document.write(addre);  以下两句是我想输出结果所用的方法 但是哪一个都不行
    //window.document.getElementById("objid").innerHTML=readpointx;
    });   
    }
    </script>
    // php部分我该成了这样
     <td align="center" id="res" >
       <?php
     $sql1="select positionx,positiony from data where imei=$quimei;";
     $res1=mysql_query($sql1);
     while($row1=mysql_fetch_array($res1))
     {
      $arrayx=$row1['positionx'];
          $arrayy=$row1['positiony'];
     }
    ?>
          <script>address(<?php echo  json_encode($arrayx);?>,<?php echo  json_encode($arrayy);?>);</script> 

      </td>运行后发现php传过去的的坐标点能正确的显示  一旦要调用google map的函数时 就不行了