如果没有记录返回一个值(MYSQL + PHP)
问题描述:
这是我的问题我想从数据库中获取数据,并将它们显示在表中,该表包含日期和另一个值都基于该日期,所以我的问题是当我得到如果不必须在特定的标题值的日期也没有回复为0(零),并会影响我的表,它的数据排序,这里是我的查询如果没有记录返回一个值(MYSQL + PHP)
<?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并凝聚所有的人都没有工作对我来说,是有任何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;
}
感谢urfusion您的帮助非常感激,但我的问题多方式即使当我这样做,它不工作像我想要的,我想要的是当别的条件我希望它返回0但它没有工作寿呃,如果你能帮助我会感激。 –
@HazemMofeed:只是'echo 0;'而不是'echo“没有记录”;'或者如果你正在返回然后'返回false;' – urfusion
感谢兄弟为你的快速评论,但它不是那么容易就像我试图回声来显示它,但我认为在查询中它没有返回任何零的问题,所以如果条件将永远不会达到其他条件,我的问题是,我需要使该查询返回零时,该日期不包含值,希望我澄清一下,谢谢bro –