Клиентская сторона отправляет почтовый запрос php на серверной стороне. Php возвращает JSON клиенту. Пример:
[[ "1", "- 1"], [ "2", "0"], [ "3", "0"], [ "4", "0"], [ "5", "4"], [ "6", "5"], [ "7", "3"]]
Теперь со стороны клиента я должен создать диаграмму. Я создал диаграмму с помощью плагина jQuery jqPlot и Flot, но jqChart не отображается правильно. Вот код jQuery:
if ($jqlib == "flot") {
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
$.post('database2json.php', function(data){
$.plot($("#placeholder"), [d2, data]);
},
'json'
);
} else if ($jqlib == "jqchart") {
$.post('database2json.php', function(podaci){
$('#placeholder').jqChart({
title: { text: 'Chart Title'},
series: [
{
type: 'line',
data: podaci
}
]
});
});
}
С этим кодом Flot рисует график с линией, а jqChart рисует график, но нет линии, это пустой график.
Как решить эту проблему?
EDIT1: Вот снимок экрана с выводом jqChart:
На оси x он рисует от 1 до 31, как и ожидалось, также на оси y все в порядке, но линии нет.
EDIT2: @DraganMatek, упомянул, что jqChart принимает парные значения [x, y], где x - это строка, дата или число, а y - это число.
В базе данных есть оба столбца с типом int.
PHP-код на стороне сервера, для извлечения этих данных:
$result = mysql_query("select Dan, Temperatura from TEMPERATURA");
$niz = array();
while ($row = mysql_fetch_array($result)) {
$niz[] = array($row['Dan'], $row['Temperatura']);
}
$obj = json_encode($niz);
echo $obj;
Я не понимаю, почему это строки x и y после отправки как json. Может быть, я мог бы разобрать это на стороне клиента?
EDIT3: я проверил с помощью Firebug, что на стороне клиента я получаю это:
[[ "1", "- 1"], [ "2", "0"], [ "3", "0"], [ "4", "0"], [ "5", "4"], [ "6", "5"], [ "7", "3"], [ "8", "2"], [ "9", "2"], [ "10", "1"], [ "11", "- 2"], [ "12", "- 2"], [ "13", "0"], [ "14", "1"], [ "15 », "- 2"], [ "16", "- 1"], [ "17", "- 1"], [ "18", "- 2"], [ "19", "- 1" ], [ "20", "3"], [ "21", "- 1"], [ "22", "0"], [ "23", "1"], [ "24", "3 "], [" 25" , "1"], [ "26", "1"], [ "27", "- 1"], [ "28", "- 1"], [ "29", "4"], [ "30", "5"], [ "31", "5"]]
Почему так? В базе данных есть два целых числа.