2017-08-31 71 views
-3

我的問題聽起來很簡單和原始,但我對Javascript完全陌生,我試圖找到解決方案兩天,但我沒有找到任何東西。將數據從數據庫加載到javascript對象

我正在建立一個網站,在頁腳的地圖。這與谷歌地圖非常相似。我需要在那裏添加一些標記,並且我想要自動完成 - 使用CMS。 我的CMS很簡單。只需將表單的「標題」和「協調」插入到數據庫表中。 該地圖是用JavaScript代碼編寫的,有一個名爲data的對象。它包含每個標記的titlecoordinations

我的問題:我無法從我的數據庫表中取數據並將它們插入javascript對象data = {}

這是應該看起來像。

var data = { 
    "title1": "coordinates1", 
    "title2": "coordinates2", 
}; 

這是我如何從數據庫中獲取數據:

<?php 
$sql="SELECT label,coordinates FROM map ORDER BY id"; 
if ($result=mysqli_query($conn,$sql)) 
{ 
while ($obj=mysqli_fetch_object($result)) 
{ 
    printf("%s %s<br>\n",$obj->label,$obj->coordinates); 
} 
mysqli_free_result($result); 
} 
mysqli_close($conn); 
?> 

我會如此感激,如果你能幫助我!我通過尋找解決方案花了幾十個小時。我厭倦了這一點。

+1

你的後端代碼從數據庫中獲取數據在哪裏?你已經標記了PHP,所以我假設你有一些PHP。 –

+2

查看PHP手冊中的'json_encode()'和'json_decode()' – RiggsFolly

+1

而http://www.json.org/如果JSON對你來說是新的 – RiggsFolly

回答

0

假設您已經對您的PHP代碼進行ajax調用,並且您只需要PHP幫助(您沒有顯示或詢問Javascript,所以我沒有解決這個問題)。而不是將結果顯示爲「純文本」,而是使用JSON響應。 PHP有一個內置函數(json_encode()),它將數組轉換爲JSON編碼的字符串。

<?php 

$sql="SELECT label,coordinates FROM map ORDER BY id"; 

$resultArray = array(); 

if ($result=mysqli_query($conn,$sql)) 
{ 
    while ($obj=mysqli_fetch_object($result)) 
    { 
     $resultArray[$obj->label] = $obj->coordinates; 
    } 

    mysqli_free_result($result); 
} 

mysqli_close($conn); 

echo json_encode($resultArray); 
?> 
+0

是啊!它終於有效。你讓我今天一整天都感覺很好!經過幾次嘗試,我意識到我需要的只是 - '$ resultArray [$ obj-> label] = $ obj->座標;' –

相關問題