В основном я пишу сценарий отчета, в котором он извлекает данные из базы данных, и я хочу проанализировать его в Graph с использованием JSON, jQuery и FLOT.
Я получил данные в JSON и графикнаполовину генерируется, но не заполняется правильными данными (или какими-либо данными по этому вопросу).
Вот код jQuery:
$(document).ready(function(){
var options = {
legend: {
show: false,
margin: 10,
backgroundOpacity: 0.5
},
points: {
show: true,
radius: 3
},
lines: {
show: true
}
};
var plotarea = $("#plotarea");
plotarea.css("height", "250px");
plotarea.css("width", "500px");
$('button[name="getJSON"]').click(function(){
$.ajax({
url: 'reports.php?r=1',
dataType: 'json',
success: function(data){
$.plot( plotarea , data, options );
}
});
});
});
Вот код PHP, который, насколько я знаю, работает правильно:
$r = addslashes($_GET['r']);
if(!$r){
die('Incorrect Value for \'r\' was set');
}
$sqlQuery = mysql_query(sprintf(
"SELECT DATE_FORMAT(FROM_UNIXTIME(`date_registration`), '%%d-%%m-%%Y') AS `date`, COUNT(1) AS `count`
FROM `crowdcube_users`
WHERE `date_registration` BETWEEN %d AND %d
GROUP BY `date`",
$startDate,
$endDate
));
while($row = mysql_fetch_assoc($sqlQuery)){
$newData[] = array(
'label' => $row['date'],
'data' => array(
$row['date'] => $row['count']
)
);
}
//Encode the array into JSON data
echo json_encode($newData);
Вот массив JSON:
[{"label":"25-07-2011","data":{"25-07-2011":"27"}},{"label":"26-07-2011","data":{"26-07-2011":"27"}},{"label":"27-07-2011","data":{"27-07-2011":"9"}},{"label":"28-07-2011","data":{"28-07-2011":"17"}},{"label":"29-07-2011","data":{"29-07-2011":"18"}},{"label":"30-07-2011","data":{"30-07-2011":"13"}},{"label":"31-07-2011","data":{"31-07-2011":"3"}}]
И, наконец, это то, что я получаю, когдаЯ генерирую график:
Что я делаю не так?Любая помощь будет принята с благодарностью!
Заранее спасибо!