2016-04-20 3 views
0

Итак, я создаю страницу, встроенную в Google, где мне нужно указать определенные точечные точки. Я хочу сохранить их в базе данных и получить их так, как вы также заполнили таблицу php.Создание массива Javascript с PHP

Мой код должен производить это:

['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-тегов? Объекты базы данных не отображаются на картах google –

+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)?>; 
Смежные вопросы