[英]Count SQL Rows based on Date Query
我正在構建一個非常簡單的PHP應用程序,他們只想列出當前訂單(從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> <a href=""><i class="fa fa-times" aria-hidden="true"></i></a></td>
</tr>
<?php }
mysql_close(); ?>
非常感謝!
SELECT *
FROM orders
WHERE date_add(order_duedate, INTERVAL -6 DAY) < now()
您可以嘗試SELECT * FROM orders WHERE order_duedate <= NOW() + INTERVAL 6 DAY
運行另一個查詢:
select count(*) from orders where order_duedate < CURDATE() + INTERVAL 6 DAY;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.