2016-04-20 56 views
0

所以我做了一個谷歌嵌入式頁面,我需要一些精確的聲明。 我想將它們存儲在數據庫中,並按照您使用php填充表格的方式獲取它們。現在,我得到這個用PHP製作Javascript數組

['Street', coordinates, coordinates, ID], 
['Street', coordinates, coordinates, ID], 
['Street', coordinates, coordinates, ID], 
['Street', coordinates, coordinates, ID] 
etc. 

我的代碼應該產生這種

<script type="text/javascript"> 
    var locations = [ 
     <?php while ($row2 = mysqli_fetch_array($result2)) { 
     echo '[' . $row2['Straat'] . ',' . $row2['Noorderbreedte'] . ',' . $row2['Westerlengte'] . ',' . $row2['ID'] . '],'; 
    } 
     ?> 

不能鍛鍊應如何工作,或者,如果有一個更簡單的方法是拿到數據庫對象通過JS。

+1

使用'json_encode()'將php數組轉換爲JS數組 – Refilon

+0

爲什麼不做一個XHR請求來獲取頁面加載而不是在HTML中編寫對象? – Tomahock

+0

那麼,我不知道這樣的事情存在。 但如果你說這很容易。我可以看看它。 –

回答

1

您可以使用此

// declare an array 
$json_array = array(); 
while ($row2 = mysqli_fetch_array($result2)) { 
     // add this code 
     $json_array[] = array(
      "{$row2['Straat']}", 
      "{$row2['Noorderbreedte']}", 
      "{$row2['Westerlengte']}", 
      $row2['ID'] 
     ); 
     //echo '[' . $row2['Straat'] . ',' . $row2['Noorderbreedte'] . ',' . $row2['Westerlengte'] . ',' . $row2['ID'] . '],'; 
    } 
?> 
<script type="text/javascript"> 
var locations = <?php echo json_encode($json_array);?> 
+0

你解決了嗎@Pieter Schreurs –

+0

還沒有,我可以用php標籤在javascript本身聲明PHP部分嗎? 數據庫對象不會顯示在谷歌地圖上 –

+0

好吧,它將拾取數組並放置它,除了第一個。 –

1

有沒有必要發明一個車輪。 json_encode功能會做你需要的東西:

PHP

$locations = array(); 
while ($row2 = mysqli_fetch_array($result2)) { 
    $locations[] = array(
     $row2['Straat'], 
     $row2['Noorderbreedte'], 
     $row2['Westerlengte'], 
     $row2['ID'] 
    ); 
} 

JS

var locations = <? echo json_encode($locations)?>;