任何人都可以看到爲什麼代碼1可以工作,但代碼2不能?這讓我瘋狂!!!使用PHP將MySQL變量插入到Google地圖中
CODE 1:
<?PHP
$con=mysqli_connect("a","b","c","d");
$result = mysqli_query($con,"SELECT * FROM map_places");
while($row = mysqli_fetch_array($result))
{
$lat2=$row['latitude'];
$lon2=$row['longitude'];
echo 'var myLatLng = new google.maps.LatLng('.$lat2.','.$lon2.');';
echo 'var myMarker = new google.maps.Marker({';
echo 'position: myLatLng,';
echo 'map: map,';
echo '});';
}
?>
代碼2:
<?PHP
$con=mysqli_connect("a","b","c","d");
$min = (int)$_POST['min'];
$sql = "
SELECT map_places.latitude, map_places.longitude
FROM map_places
INNER JOIN map_items ON (map_items.host_id = map_places.id)
WHERE map_items.value >".$min."
GROUP BY map_places.id
";
$result1 = mysqli_query($con,$sql);
while($row1 = mysqli_fetch_array($result1));
{
$lat1=$row1['latitude'];
$lon1=$row1['longitude'];
echo 'var myLatLng = new google.maps.LatLng('.$lat1.','.$lon1.');';
echo 'var pokerMarker = new google.maps.Marker({';
echo 'position: myLatLng,';
echo 'map: map,';
echo '});';
}
?>
它們本質上是相同的代碼,代碼1拉出所有的數據,並張貼到谷歌地圖和代碼2拉動一定數據(所有的價值都高於$ min)並將其放在Google地圖上,我已經通過MySQL選擇了它,並且它提取了正確的數據,但是如果我在$ row1 ...和$ row2上使用(int) ...在我的地圖上發佈的lat long值是0,0。有誰能解釋爲什麼會發生這種情況? (我發佈的代碼之外的所有代碼對於代碼1和代碼2都是相同的,並且代碼1適用於我的問題應該位於此處的某處)。感謝您試圖讓代碼2工作的任何幫助一直讓我瘋狂幾天!
可能是你需要調試的代碼。首先在phpmyadmin上執行你的查詢並檢查它是否返回一些數據。然後通過print_r($ row1);'來檢查'$ row1'中的索引是什麼。 –