как использовать json_encode

Я имею дело с высокими диаграммами с динамическими данными (значения извлекаются из базы данных). Написав запрос, я смог получить следующие данные из таблиц

<code>Item   2011   2012
pen     5      7
pencil  4      20
eraser  6      43
</code>

Я хочу сохранить вышеуказанную информацию в следующей структуре и передать ее на другую страницу

<code>[{ name:'pen', data: [5,7]},{ name:'pencil', data: [4,20]},{ name:'eraser', data: [6,43]}]";
</code>

Я хочу перенести приведенные выше данные в верхнюю диаграмму детализации.

Есть ли способ, которым я могу генерировать в этом формате? Я пытался использовать json_encode, но не смог добиться успеха. Могу ли я добиться этого с помощью json_encode?

Обновлено Я пытался таким образом

<code>while($row = mysql_fetch_assoc($result))
  {
  $rows[]= $row;

  }
echo json_encode($rows);
</code>

и получил

<code>[{"Item":"pen","2011":"5","2012":"7"},{"Item":"pencil","2011":"4","2012":"20"},{"Item":"eraser","2011":"6","2012":"43"}]
</code>
 nickb30 апр. 2012 г., 03:44
Похоже, что лучшим подходом будет сериализация данных.
 Anil30 апр. 2012 г., 03:48
@ JohnConde, я обновил немного info.check
 Logan Serman30 апр. 2012 г., 03:52
@ ven, в своем ответе я показал, как получить именно тот результат, который вы запрашивали.
 mario30 апр. 2012 г., 03:42
json_encode кодирует JSON, а не выражение объекта Javascript (ключи без кавычек). Не то чтобы это имело значение.

Ответы на вопрос(2)

Решение Вопроса

json_encode - это удобный метод для преобразования массива в формат JSON. Чтобы получить вывод, который вы предоставили, вам понадобится массив массивов. Каждый подмассив имеет ключи «name» и «data», где «name» - это столбец «Item», а «data» - еще один массив, содержащий значения из 2011 и 2012 годов.

$arr = array();

while ($row = mysql_fetch_assoc($results))
{
    $name = $row['Item'];
    $data = array($row['2011'], $row['2012']);

    $arr[] = array('name' => $name, 'data' => $data);
}

echo json_encode($arr);
Просмотрите результаты базы данных и поместите результаты в массивJSON кодировать массив

Ваш ответ на вопрос