2017-10-14 143 views
-1

這是我的問題我想從數據庫中獲取數據,並將它們顯示在表中,該表包含日期和另一個值都基於該日期,所以我的問題是當我得到如果不必須在特定的標題值的日期也沒有回覆爲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解決方案。

感謝您的幫助。

回答

1

注:停止使用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; 
    } 
+0

感謝urfusion您的幫助非常感激,但我的問題多方式即使當我這樣做,它不工作像我想要的,我想要的是當別的條件我希望它返回0但它沒有工作壽呃,如果你能幫助我會感激。 –

+0

@HazemMofeed:只是'echo 0;'而不是'echo「沒有記錄」;'或者如果你正在返回然後'返回false;' – urfusion

+0

感謝兄弟爲你的快速評論,但它不是那麼容易就像我試圖回聲來顯示它,但我認爲在查詢中它沒有返回任何零的問題,所以如果條件將永遠不會達到其他條件,我的問題是,我需要使該查詢返回零時,該日期不包含值,希望我澄清一下,謝謝bro –

相關問題