Intereting Posts
Задержка PHP с использованием ob_flush с загружаемым сообщением PHP php_network_getaddresses: getaddrinfo не удалось: такой хост не известен Как запросить Sphinx для точной совпадающей фразы? PHP preg_split игнорирует escape-последовательность yii2 gii Ошибка CRUD генератора – Class 'Message' не существует или имеет синтаксическую ошибку PHP библиотека шаблонов PDF с выходом PDF? Почему PHP PDO DSN отличается от MySQL для PostgreSQL? Вычислить значение пропуска для данной записи для отсортированного поискового вызова Массив группы PHP по значениям Кэширование HTTP-ответов, когда они динамически создаются PHP Сохранение замыканий в потоке не выполняется Параллельная загрузка файла AJAX LIMIT Могу ли я передать ассоциативный массив в качестве аргумента в ReflectionMethod :: invokeArgs? Как конвертировать 12-часовое время в 24-часовое время в PHP? что может привести к тому, что атрибуты $ model-> не получат правильные значения в Yii?

Верните объект JSON, используя PHP json_encode () и MySQL, чтобы перейти к функции jQuery

Я пытаюсь создать объект json из результатов MySQL, но не получить результат, который мне нужен.

Вот PHP

$json = array(); $result = mysqli_query ($connection, $query); echo '['; while($row = mysqli_fetch_array ($result)) { echo '{'; echo '"latitude":"'.$row['lat'].'",'; echo '"longitude":"'.$row['lng'].'",'; echo '"icon":'.'"./images/'.$row['busColor'].'.png"'; echo '}'; } echo ']'; $jsonstring = json_encode($json); echo $jsonstring; die(); 

Он выводит это

 [{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}][] 

Но я хочу этого

 [{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}] 

как только я получу результат, мне нужно передать объект в функцию плагина jQuery, если это имеет значение

 $.getJSON('myJsonURL, function(myMarkers){ $("#map").goMap({ markers: myMarkers }); }); 

благодаря

Я предполагаю, что правильный способ сделать это:

 $json = array(); $result = mysqli_query ($connection, $query); while($row = mysqli_fetch_array ($result)) { $bus = array( 'latitude' => $row['lat'], 'longitude' => $row['lng'], 'icon' => './images/' . $row['busColor'] . '.png' ); array_push($json, $bus); } $jsonstring = json_encode($json); echo $jsonstring; die(); 

вы выводите свой json вручную, а затем вы вызываете json_encode на пустой массив () – $ json

json_encode () выдает [], вы передаете пустой массив, чтобы ваш последний [] появился здесь.
$jsonstring = json_encode($json);
echo $jsonstring;

Редактировать: Подробнее о json_encode json_encode php manual

Вы начинаете с определения массива.

Затем вы создаете несколько JSON вручную.

Затем вы преобразовываете массив в JSON и выводите его.

Замените все операторы эха в и на краю цикла while с кодом для создания ассоциативного массива, содержащего данные, а затем вставьте его в $ json.