Получение значений базы данных в переменной Javascript динамически

Я много раз изучал эту тему, но я не мог найти правильный ответ на мой вопрос. Позвольте мне объяснить это.

Я создаю приложение с API Карт Google, где я хочу иметь несколько местоположений, отображаемых на карте, на основе значений моей базы данных. У меня есть объект под названием Locations в моем javascript, где я храню имена переменных «,» lat и «lon» (широта, долгота).

var Locations = [{ name: 'test', lat: 52.351753, lon: 5.002035 }, { name: 'test2', lat: 52.390839, lon: 4.908722 }]; 

В этой части я храню свои местоположения. Хотя он работает, он жестко закодирован. Итак, я хочу, чтобы все значения базы данных mysql выходили из базы данных в мою javascript-переменную динамически. Я зашел через запись базы данных с PHP:

  foreach ($query as $post) { ?> <h1><?php echo $post['naam'] ?></h1> <p><?php echo $post['plaats'] ?></p> <p><?php echo $post['categorie'] ?></p> <?php } 

Теперь я попытался получить все эти значения и поместить их в свою javascript-переменную, но без каких-либо успехов.

 var bedrijven = <?php echo json_encode($post); ?>; 

Когда я console.log 'bedrijven', я получаю только последнюю запись, но хочу, чтобы каждая строка хранилась. Может кто-то помочь мне с этим? Было бы здорово, если бы это сработало.

Надеюсь, я объяснил достаточно хорошо.

Благодаря!

Пытаться:

PHP:

 function getMarkers(){ $response = array(); foreach ($query as $post) { $response[] = array( 'name' => $post['naam'], 'lat' => $post['plaats'], 'lng' => $post['categorie'], ); } echo json_encode($response); } 

то JS:

 function addMarkers(json){ var title =json[index]["naam"]; var lat =json[index]["plaats"]; var lng =json[index]["categorie"]; marker = new google.maps.Marker({ position: new google.maps.LatLng (lat, lng), map: YOUR_MAP }); } jQuery.getJSON("URL OF PAGE",{ format: "json", dataType: 'json', contentType: "application/json; charset=utf-8"}, function(json){addMarkers(json); }); 

лучше, чтобы отправить информацию с помощью json и получить ее с помощью jQuery getJSON , это может потребовать некоторой настройки. Но я создал то, о чем вы говорите. Кричите, если требуется какая-либо дополнительная помощь.

Вам, возможно, придется изучить этот крошечный бит, чтобы настроить его.

УДАЧИ!

$post – ваша переменная итерации, поэтому она содержит только один элемент массива за раз. Если вам нужен весь массив, назначьте следующее:

 var bedrijven = <?php echo json_encode($query); ?>; 

Примеры на http://us1.php.net/json_encode должны быть полезны. Похоже, ваш $ post должен быть ассоциативным массивом:

 $post[] = ("name"=>"test","lat"=>52.351753, "lon"=> 5.002035); ?> var bedrijven = <?php echo json_encode($post); ?>; 

выходы:

var bedrijven = [{"name": "test", "lat": 52.351753, "lon": 5.002035}];