Как сделать так, чтобы данные MySQL за 7 дней были эффективнее на графике

Мне нужно получить 7 дней «текст даты» и «количество данных» для диаграммы.js создать диаграмму.

MySQL стол

id
title
create_time (unixtime int10)

PHP

//get 7days
$now = time();
$day7 = array();
$day7_srt="";
for($i=0; $i<7; $i++){
$d = mktime(0,0,0,date('m',$now),date('d',$now)-$i);
$day7[$i]["d"] = date('d',$d);
$day7[$i]["m"] = date('m',$d);
}
sort($day7);
foreach ($day7 as $key => $value) {
$d = $value['d'];
$m = $value['m'];
$day7_srt .= "\"$m-$d\",";
}
$day7_srt=substr("$day7_srt",0,-1);  //"11-19","11-20","11-21".....etc

//get data count

$data_value = array();
$date_show ="";
foreach ($day7 as $key => $value) {
$date = $value["date"];
$sql = "SELECT COUNT( * ) FROM  `news` WHERE  FROM_UNIXTIME(  `create_time` ,  '%Y-%m-%d' ) =  '$date'";
$r_title = $pdo->query($sql);
$r_title = $r_title->fetch();
$data_value[$key] = $r_title["0"];
}
foreach ($data_value as $key => $value) {
$date_show .= "\"$value\",";
}
$date_show=substr("$date_show",0,-1);   //show "3","5","2".....etc

Стиль кода Js

var lineChartData = {
labels : ["11-19","11-20","11-21","11-22","11-23","11-24","11-25"],

datasets : [
{
label: "My Chart",
data : [1,2,3,4,5,7,9]  //mysql data here
}
]

}

Я могу сделать свою идею, и это работа

Но я чувствую, может быть, более эффективно сделать это?
любой sugesst?

2

Решение

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

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector