jquery — создание графа jqplot с использованием php mysql

Я хочу отобразить график даты, используя данные из MySQL. Я использую библиотеку jqplot для генерации графа. Диаграмма должна иметь дату по оси X, по оси Y некоторые числовые значения.

MySQL

В MySQL у меня есть пул: ID, температура, дата

CREATE TABLE IF NOT EXISTS `temperature_monitor` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`temperature` float NOT NULL
PRIMARY KEY (`id`),
UNIQUE KEY `counter_UNIQUE` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT= 4 ;

Дата из MySQL я положил в массив с помощью PHP

$date = array();
while ($row = mysqli_fetch_array($result)) {
$date = array(
"date"  => $row['date'],
"temperature"   => $row['temperature']
);
$date_array[] = $date;

}

echo ('['.json_encode($date_array).']');

Это скрипт, показывающий график

$(document).ready(function () {
$.ajax({
type: "GET",
url: "temperature.php",
contentType: "application/json; charset=utf-8",
dataType: 'json',

success: function (json) {
console.log(json);

var plot2 = $.jqplot('chart3', [json], {
title:'Customized Date Axis',
axes:{
xaxis:{
renderer:$.jqplot.DateAxisRenderer,
tickOptions:{formatString:'%Y-%m-%d'},
min:'2016-03-01',
tickInterval:'1 day'
}
},
series:[{lineWidth:4, markerOptions:{style:'square'}}]
});

},
error:function (json){
}
});});

Данные для показа диаграммы должны быть в формате: [[‘2008-08-12 16:00 PM’,4], [……., …], ……..]

Пример из документации:

`var line1=[['2008-08-12 4:00PM',4], ['2008-09-12 4:00PM',6.5], ['2008-10-12 4:00PM',5.7], ['2008-11-12 4:00PM',9], ['2008-12-12 4:00P`M',8.2]];

Когда я получаю данные из MySQL, к сожалению, генерирует пустой график без каких-либо значений.

Я не знаю, что не так.

РЕШИТЬ:

Код php должен быть изменен на

    $date = array();
while ($row = mysqli_fetch_array($result)) {
$date = array($row['date'],$row['temperature']);
$date_array[] = $date;

}

echo (json_encode($date_array));

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]