Я пытаюсь использовать flot для вывода некоторых данных, извлеченных из базы данных MySQL. Я веду журнал посещений пользователей, и у меня есть функция SQL, которая будет получать количество посещений в день в течение определенного месяца, getStats ($ day). Я прочитал несколько примеров онлайн, как правильно сделать это, но по какой-то причине, когда я пытаюсь отобразить данные массива в моем файле javascript ', он появляется пустым ->' data: '. Ниже мой код. Я использую CI-фреймворк, поэтому, если есть какие-то вопросы по поводу моего кода, скорее всего, из-за этого. У меня есть жестко закодированные данные, и это прекрасно работает. Буду признателен за любую помощь в этом вопросе, так как в настоящее время использование flot с базами данных невелико.
Модель ---> metrics.php
function showUsers() {
//get the number of days in the current month and the first day
$num_days = cal_days_in_month(CAL_GREGORIAN, date(m), date(Y));
$first_day = strtotime(date('Y').'-'.date('m').'-01');
//iterate through all of the days
while( $i < $num_days ) {
//get the user visits for each day of the month
$log = $this->db->getStats($first_day);
//add +1 day to the current day
$first_day += 86400;
$flot_visits[] = '['.($first_day*1000).','.$log->fields['total'].']';
$i++;
}
//format in acceptable format for flot
$content['visits'] = '['.implode(',',$flot_visits).']';
//load the view and pass the array
$this->load->vars($content);
$this->load->view('metrics/user_metrics', $content);
}
Просмотр ---> user_metrics.php
<div id ="visits_graph" style="width:600px; height:300px"></div>
Javascript ---> user_metrics.js
function metrics() {
$.ajax({
type: "POST",
url: pathurl + "metrics/showUsers",
data: "",
success: function(data) {
graph_visits();
}
});
}
function graph_visits() {
$.plot($('#visits_graph'), [
{ label: 'Visits', data: <?php echo $visits ?> }
], {
xaxis: {
mode: "time",
timeformat: "%m/%d/%y"
},
lines: { show: true },
points: { show: true },
grid: { backgroundColor: #fffaff' }
});
}