Создание таблицы JSON из SQL-запроса

Я хочу создать таблицу JSON из результатов SQL-запроса. Я попробовал запрос на phpMyAdmin, и это правильно (я получаю данные, которые хочу), но затем, когда я пытаюсь преобразовать его в таблицу JSON, используя приведенный ниже код, результатом будет таблица с правильной структурой, но не значения ,

/* select all moches from the table moches */ $query="SELECT municipio, SUM(moche) AS moche FROM moches GROUP BY municipio"; $result = $mysqli->query($query); $rows = array(); $table = array(); $table['cols'] = array( array('label' => 'Municipio', 'type' => 'string'), array('label' => 'Cantidad total en moches', 'type' => 'number') ); foreach($result as $r) { $temp = array(); //Create the different states $temp[ ] = array('v' => (string) $r['municipio']); // Total de moches $temp[ ] = array('v' => (int) $r['moche']); $rows[ ] = array('c' => $temp); } $table['rows'] = $rows; // convert data into JSON format $jsonTable = json_encode($table); 

phpMyAdmin позволяет экспортировать в формате JSON, возможно, это может вам помочь.

nitpick: нет такой вещи, как «json table». Существуют строки JSON, которые представляют собой строки открытого текста, которые представляют структуру данных на каком-то другом языке, например javascript.

Ваша проблема в том, что вы пытаетесь перекрыть дескриптор результата mysqli. Это, как правило, один ROW данных, а не весь набор результатов.

У вас должно быть что-то большее:

 $result = $mysqli->query($sql); $temp = array(); while($row = $result->fetch_row()) { $temp[] = $row; } echo json_encode($temp);