2016-07-19 8 views
0

私は、(SQLデータベースの)現在の注文をリストし、注文の予定日がいつ。日付クエリに基づいてSQL行をカウントする

私は今から6日以内に期限があるテーブル内のすべての注文を数えようとしています...と私は頑張っています!

私はテーブルにすべての注文を表示していますが、期限に基づいて行を数える方法にはわかりません。

order_duedateは日付形式です。

誰にも何か提案がありますか?

これは非常に単純なことができるよう、私は、データベースから情報を引っ張っにかなり新たなんだ - ここでは、私が使用していますコードです:

<?php 

ob_start(); 
define('DB_SERVER', 'localhost'); 
define('DB_USERNAME', 'aaa'); 
define('DB_PASSWORD', 'aaa'); 
define('DB_DATABASE', 'aaa'); 
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error()); 
$database = mysql_select_db(DB_DATABASE) or die(mysql_error()); 

// TABLE ROWS AS FOLLOWS 
// order_no/order_client/order_duedate/order_status 


$table_all = "SELECT * FROM orders"; 
$table_all_data = mysql_query($table_all); 


// COUNT ORDERS THAT HAVE ORDER_DUEDATE < 6 DAYS FROM NOW 


?> 

<p>TOTAL OVERDUE ORDERS</p> 
<p><?php echo $total_overdue ?></p> 



<?php 
// DISPLAY COMPLETE TABLE OF DATA 
while($row = mysql_fetch_array($table_all_data)){ 
    // CHANGE FORMAT OF DATE 
    $reformat_duedate = $row['order_duedate']; 
    $phpdate = strtotime($reformat_duedate); 
    $newdate = date('d/m/Y', $phpdate); 

?> 

<tr> 
    <td><a href=""><?php echo $row['order_no'] ?></a></td> 
    <td class="alignleft"><?php echo $row['order_client'] ?></td> 
    <td><span class="date open"><?php echo $newdate ?></span></td> 
    <td class="alignleft"><?php echo $row['order_status'] ?></td> 
    <td>2</td> 
    <td><a href=""><i class="fa fa-pencil" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a href=""><i class="fa fa-times" aria-hidden="true"></i></a></td> 
</tr> 


<?php } 

mysql_close(); ?> 

ありがとうございました!

+0

http://stackoverflow.com/questions/7341658/selecting-the-last-7-days-from-nowを-in-mysql – Ghost

答えて

1
SELECT * 
FROM orders 
WHERE date_add(order_duedate, INTERVAL -6 DAY) < now() 
1

あなたは別のクエリを実行しSELECT * FROM orders WHERE order_duedate <= NOW() + INTERVAL 6 DAY

0

を試みることができる:

select count(*) from orders where order_duedate < CURDATE() + INTERVAL 6 DAY; 
関連する問題