簡體   English   中英

兩個日期之間的記錄數phpmysql

[英]number of records between two dates phpmysql

我有這段代碼來獲取兩個日期$date1$date2之間的記錄

for ($i=$date1;$i<$date2;$i++){//BETWEEN THE TWO DATES
        $count_rcvd=mysql_num_rows(mysql_query("select * from cards where Date_Rcvd='$i'"));
        $count_collect=mysql_num_rows(mysql_query("select * from cards where Date_Collected='$i'"));
        if($i==$date1){FOR THE FIRST DATE IN THE RANGE
        $uncollected=mysql_num_rows(mysql_query("select * from cards where Status='AVAILABLE' and Date_Rcvd<='$i'"));
        $balance=$uncollected;
    }
    else{//FOR CONSECUTIVE DATES AFTER DATE1
    $uncollected=mysql_num_rows(mysql_query("select * from cards where Status='AVAILABLE' and Date_Rcvd<'$i'"));//previous days balance
    $balance=$uncollected+$count_rcvd-$count_collect;

當我為$ i回聲時,回聲“”; 回聲$ i;
回顯“”; echo $ count_rcvd; 回顯“”; echo $ count_collect; 回顯“”; echo $ balance; 回顯“”;

我下面的日期遠遠超出了日歷日期

014-03-15   0   7   103
2014-03-16  0   3   100
2014-03-17  0   7   96
2014-03-18  0   9   94
2014-03-19  0   5   98
2014-03-20  15  6   112
2014-03-21  0   6   103
2014-03-22  0   1   108
2014-03-23  0   0   109
2014-03-24  0   8   101
2014-03-25  0   3   106
2014-03-26  0   0   109
2014-03-27  1   2   108
2014-03-28  0   0   110
2014-03-29  6   1   115
2014-03-30  0   0   116
2014-03-31  0   0   116
2014-03-32  0   0   116
2014-03-33  0   0   116
2014-03-34  0   0

問題是例如輸出日期超過31日。。。

要迭代日期,我建議您使用DateTime和DateTimeInterval類(請注意!最低PHP 5.3): http : //www.php.net/manual/fr/class.datetime.php

您可以在真實日歷后添加天/月: http : //www.php.net/manual/fr/datetime.add.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM