显示跳过项的PHP图表图表

显示跳过项的PHP图表图表,php,jquery,Php,Jquery,我正试图创建一个这样的图表 我创建了一个脚本,将数据添加到图形中。日期和值存储在db中,工作正常。 php脚本计算日期数并将其用作值,然后将其分配给日期 问题是如果有人错过了一天,它就会跳过我理解的价值。 那么,我如何为跳过的一天赋值零呢 2014-07-23 2014-07-23 = 2, 2014-07-24 -> wasn't submitted so the 0 should be added to the graph with the date. 2014-07-25 201

我正试图创建一个这样的图表

我创建了一个脚本,将数据添加到图形中。日期和值存储在db中,工作正常。 php脚本计算日期数并将其用作值,然后将其分配给日期

问题是如果有人错过了一天,它就会跳过我理解的价值。 那么,我如何为跳过的一天赋值零呢

2014-07-23
2014-07-23 = 2,

2014-07-24 -> wasn't submitted so the 0 should be added to the graph with the date.

2014-07-25
2014-07-25
2014-07-25= 3,
php脚本

$user_curr_id = $_SESSION['user_id'];
$sql = mysqli_query($con,"SELECT * FROM rosary WHERE user_ids = $user_curr_id ORDER BY datum ASC"); 

$array1 = array();
while($row = mysqli_fetch_array($sql)){ 
$array1[] = '"' . $row['datum'] . '"';
}

$tags = implode(', ', array_unique(array_map('trim',explode(',',implode(',',$array1))))); 

$sql =  mysqli_query($con,"SELECT datum, COUNT(datum) cnt
        FROM rosary 
        WHERE user_ids = $user_curr_id 
        GROUP BY datum;");

$result = array();

            while ($row = mysqli_fetch_array($sql)) {
                $result[] = $row['cnt'];             // add the content of field cnt
            }
在js脚本中

labels : ["Start",<?php echo $tags; ?>] -> list the dates from db

data : [0,<?php echo implode(',', $result); ?>]-> list values from db
labels : ["Start",<?php echo implode(',',array_keys($res_array)) ?>],
data : [0,<?php echo implode(',', array_values($res_array)); ?>],
标签:[“开始”,]->列出数据库中的日期
数据:[0,]->列出数据库中的值
php:

$sql=mysqli\u query($con),选择数据,将(数据)计数为cnt
从念珠
按基准分组
按基准ASC订购;“”;
$result=array();
$start=null;
$end=null;
while($row=mysqli\u fetch\u数组($sql)){
$result['''。$row['datum'].''']=$row['cnt'];
如果(为null($start))$start=$row['datum'];
$end=$row['datum'];
}
$res_array=array();
如果(!为null($start)){
$i=strottime($start);
而($i$val){
$res_数组[$date]=$val;
}
在js脚本中

labels : ["Start",<?php echo $tags; ?>] -> list the dates from db

data : [0,<?php echo implode(',', $result); ?>]-> list values from db
labels : ["Start",<?php echo implode(',',array_keys($res_array)) ?>],
data : [0,<?php echo implode(',', array_values($res_array)); ?>],
标签:[“开始”,],
数据:[0,],

数据库不能无中生有。你需要一个临时表,列出你可以加入的范围内的每天,这样你就可以对它们进行零计数,或者在检索查询结果并填写缺少的天数后,你必须在php中扫描数据集。是的,我喜欢做第二个选项,但不确定如何使用扫描日期,如果没有指定0,在PHP中从$min_date循环到$max_date如何,如果$result数组中没有设置a日期,只需将其值添加为0?可以发布示例吗?