2014-03-12 4 views
0

'내 위치'와 데이터베이스의 좌표를 가져 오는 다른 위치 사이의 거리를 계산하는 자바 스크립트 기능이 있습니다. 자, 나는 데이터베이스에서 데이터를 추출하고 HTML 테이블에 데이터를 표시하는 PHP를 사용하고 있습니다. 나는 또한 PHP를 사용하여 자바 스크립트를 호출합니다. 이 함수는 잘 실행되고 원하는 결과를 얻습니다. 그러나 이제이 출력을 함수에서 HTML 테이블로 리디렉션하려고합니다.자바 스크립트에서 HTML로 출력 리디렉션

<script> 
var latLngA; 
function getLocation(coordinates,call_number) { 
    //alert("Entering with coordinates " + coordinates + " and call number " + call_number); 
    navigator.geolocation.getCurrentPosition(
     function(position) { 
      if(call_number == 0){ 
       latLngA = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
      } 
      var latlong = coordinates.split(","); 
      var latLngB = new google.maps.LatLng(parseFloat(latlong[0]), parseFloat(latlong[1])); 
      var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngA, latLngB); 
      var table = document.getElementById('venue_list'); 
      var tbody = table.getElementsByTagName('tbody')[0]; 
      var rows = tbody.getElementsByTagName('tr'); 
      rows[i].getElementsByTagName('td')[2].innerHTML = distance/1000; 
     }, 
     function() { 
      alert("Geo-location not supported!"); 
     } 
    ); 
} 
</script> 
<?php 
$i = 0; 
$result = mysqli_query($con,$query); 
while($row = mysqli_fetch_array($result)) 
        { 
         $name = $row['NAME']; 
         $img = $row['IMAGE_SRC']; 
         $addr = $row['ADDRESS']; 
         $location = $row['LOCATION']; 
         $coordinates = $row['COORDINATES']; 

         echo "<script type='text/javascript'>map_function('{$addr}','{$name}','{$img}','{$i}');</script>"; 
        ?> 
         <tr> 
          <td> 
            <img src="<?php echo $img.".jpg"?>" height="100" width="100"> 
          </td> 
          <td> 
            <?php echo $name?> 
          </td> 
          <td> 
            <?php echo "<script type='text/javascript'>getLocation('{$coordinates}','{$i}');</script>";?> 
          </td> 
          <td style="display:none;"> 
            <?php echo $location?> 
          </td> 
         </tr>      
        <?php 
         $i=$i+1; 
        } 
       ?> 

venue_list 데이터가 표시되는 테이블의 ID입니다 :

여기 내 코드입니다. 함수가 올바르게 실행 되더라도 해당 테이블 행에서 출력을 가져올 수 없습니다. 해결책을 기다리고 있습니다. 감사.

답변

0

행이 잘못되었습니다. 어쨌든 루프를 사용하여 td의 다른 ID를 알려주는 것이 좋습니다. 그것들에 더 쉽게 접근 할 수있게 해줍니다.

관련 문제