2013-10-24 51 views
1

任何人都可以看到爲什麼代碼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工作的任何幫助一直讓我瘋狂幾天!

+0

可能是你需要調試的代碼。首先在phpmyadmin上執行你的查詢並檢查它是否返回一些數據。然後通過print_r($ row1);'來檢查'$ row1'中的索引是什麼。 –

回答

2
while($row1 = mysqli_fetch_array($result1)); 

刪除;在行末

+0

哦,我的日子!謝謝你我不能相信我讀過代碼尋找我的墮落,我完全忽略了這一點!大聲笑救生員! –