Анализ MySQL в JavaScript Массивы через PHP и jQuery

Конечная цель: я хочу использовать данные, хранящиеся в базе данных MySQL, и помещать их в массив массивов на JavaScript, поэтому его можно манипулировать на стороне клиента.

До сих пор мне удалось получить данные из моей базы данных с помощью этого кода:

<?php ... $num=1; $q = "SELECT blah1, blah2, blah3 WHERE blah4=$num"; $sth = mysqli_query ($database, $q); $rows = array(); while($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); ?> 

(из: JSON кодирует результаты MySQL )

Здесь я застрял, потому что мне трудно получить эти данные в JavaScript.

Одним из решений, которое я могу найти, является анализ синтаксического массива PHP в Javascript :

 <script> var jsonarray = <?php echo json_encode($array); ?>; // now you can use jsonarray in your javascript </script> 

Но проблема с этой реализацией заключается в том, что она выплевывает все содержимое базы данных, которое я запрашиваю, на исходный код страницы. Если я должен это сделать, я мог бы также пропустить базу данных и просто сохранить весь контент в javascript.

Я думаю, что должен быть способ, с помощью jQuery / AJAX передать значение $ num скрипту PHP, захватить эти данные и поместить его в массив JavaScript, без необходимости выводить все его на страницу.

Любая помощь будет оценена.

Спасибо!

Solutions Collecting From Web of "Анализ MySQL в JavaScript Массивы через PHP и jQuery"

Это решение, которое вы опубликовали:

 <script> var jsonarray = <?php echo json_encode($array); ?>; // now you can use jsonarray in your javascript </script> 

На самом деле это очень хороший подход. Использование AJAX значительно медленнее (из-за латентности сети).

Если вам действительно не нужен AJAX по какой-то причине, вы должны избегать его использования. Он добавит заметную долю секунды на время загрузки на страницу, часто без какой-либо выгоды.

Прежде всего при структурировании вашей страницы вы хотите попытаться сократить количество отдельных сетевых запросов между браузером и сервером. Чем меньше запросов, тем быстрее будет страница. Это особенно актуально для javascript и ajax, потому что они непредсказуемы, и браузеру очень сложно оптимизировать любую часть страницы, где она используется.

Мы говорим об одной четверти секунды по сравнению с одной миллионной секундой за точно такой же конечный результат.

Сделать вызов AJAX с помощью jQuery достаточно просто. Взгляните на документацию: http://api.jquery.com/jQuery.get/

Вы также можете сделать это без AJAX

 var jsonarray = eval(<?php echo json_encode($array); ?>);