这是我的问题,我想从数据库中获取数据,并在表中显示它们,该表包含日期和另一个基于该日期的值,所以我的问题是当我获取数据时,如果日期在某些标题中没有值,它没有返回为 0(零),这会影响我的表并且它正在排序, 这是我的查询
<?php
$confirmquery= " SELECT ddate , count(status) as stat from booking_vip where status = 'CONFIRM' AND ddate >= '$date_1' AND ddate <= '$date_2' GROUP BY ddate";
$confirmrun=mysql_query($confirmquery);
while($confirmrow=mysql_fetch_array($confirmrun)){
?>
<td>
<?php
echo $confirmrow['stat'];
?>
</td>
<?php } ?>
查询工作正常,但是当某个日期没有记录时,它没有返回任何内容,因此它通过使记录位于错误的日期来破坏我的表..
所以请帮助我,我搜索了很多,尝试了很多函数,如ifnull和isnull以及COALESCE,它们都对我不起作用,是否有任何php解决方案,
我得到什么作为示例
Date status
2016-03-14 CONFIRM
2016-03-17 CONFIRM
我想要的是:
Date Total
2016-03-14 CONFIRM
2016-03-15 0
2016-03-16 0
2016-03-17 CONFIRM
我想在没有任何价值的缺失日期中为零,我在社区中看到这个问题,但没有获得任何PHP解决方案或简单的MySQL解决方案。
感谢您的帮助。
注意:停止使用已弃用Mysql
有多种方法可以做到这一点
$confirmquery = " SELECT ddate , count(status) as stat from booking_vip where status = 'CONFIRM' AND ddate >= '$date_1' AND ddate <= '$date_2' GROUP BY ddate";
$confirmrun = mysql_query($confirmquery);
$numRow = mysql_num_rows($confirmrun);
if($numRow > 0){
//your code
}else{
echo 0;
}
或
$count = count($confirmrun);
if($count > 0){
//your code
}else{
echo 0;
}