2015-06-14 59 views
1

我對php很新穎。我有一個簡單的網站,通過一個MySQL數據庫循環,併爲每一行繪製多邊形。它還爲用戶點擊多邊形時可以看到的每個多邊形分配一個自定義屬性(名稱)。PHP變量聲明錯誤 - MySQL

當用戶點擊多邊形,他應該看到變量「BNAME」

代碼工作完美的價值時,我給你BNAME的座標:

var bname = ('.$row[coord1].'); 

的代碼失敗時,我給你BNAME另一列是一個字符串:

var bname = ('.$row[name].'); 

數據庫中的所有數據是文本格式的,我懷疑,也許我使用了錯誤的語法從日返回一個字符串值電子數據庫?我需要分配BNAME在數據庫中的名稱列..

這是全碼:

$findmap= 'SELECT * FROM build2'; 

if(!$result = $con->query($findmap)){ 
die('There was an error running the query 
    [' . $con->error . ']'); 
} else { 
while ($row = $result->fetch_assoc()) { 

    echo '   
     var polypath = [new google.maps.LatLng('.$row[coord1].'), 
       new google.maps.LatLng('.$row[coord2].'), 
       new google.maps.LatLng('.$row[coord3].'), 
       new google.maps.LatLng('.$row[coord4].'), 
       new google.maps.LatLng('.$row[coord5].'), 
       new google.maps.LatLng('.$row[coord6].'), 
       new google.maps.LatLng('.$row[coord1].') 
       ]; 


     var bname = ('.$row[name].'); 

     var dxbmap = new google.maps.Polygon({ 
     custom: bname, 
     path:polypath, 
     strokeColor:"#0000FF", 
     strokeOpacity:0.8, 
     strokeWeight:1, 
     fillColor:"#0000FF", 
     fillOpacity:0.1 

     }); 

     dxbmap.setMap(map); 

     google.maps.event.addListener(dxbmap, "click", function() { 
     alert(this.custom); 

    }); 

'; 
} 
} 
?> 
+0

試試像這樣: - 'var bname =(「$ row ['name']」);或者 var bname =($ row ['name']);'並檢查。 –

+0

如果它是一個字符串,我認爲它需要在引號中。檢查開發者控制檯,拋出什麼錯誤? – chris85

+0

如果我理解你的問題,那麼你需要在「var polypath」之前添加