2013-04-26 90 views
3

我有一個關於根據日期顯示數據表的問題。在這種情況下,我想根據今天和昨天顯示數據。PHP根據昨天和今天顯示數據

設計表:
form_no | model_name | prod_status | date_added

示例數據:
1 | acer |好的| 12-APR-2013
2 | acer | NG | 11-APR-2013

所以如果在表中我只想要數據會顯示一次,因爲型號名稱是一樣的。 表視圖這樣的

否|模型|昨天狀態|今日狀態
1 | acer | NG | OK

這裏是我的代碼:表今日

$today = date("j-F-Y"); 
$yesterday = date("j-F-Y, time() - 60 * 60 * 24;"); 

$query = "SELECT model_name, prod_status, date_added FROM t_production_status WHERE date_added like '$today%'"; 
$result = mysql_query($query); 

現在我做的數據顯示,現在我要顯示昨天狀態表視圖。

回答

5

你可以做到這一點,如下。

SELECT * 
FROM tableName 
WHERE date BETWEEN (CURDATE() - INTERVAL -1 DAY) AND CURDATE() 
+0

我更喜歡這種方法,但該字段必須是日期時間才能工作。給出的樣本看起來不像日期時間。 – 2013-04-26 06:56:37

+0

@GeraldSchneider你可以通過'DATE_SUB(NOW(),INTERVAL -1DAY)和NOW()'之間的日期來完成它;' – 2013-04-26 07:00:28

+0

仍然需要日期是MySQL可以識別的格式 – 2013-04-26 07:03:51

4

使用BETWEEN在查詢

$start_date = /* Yesterdays date */ ; 
$end_date = /* Yesterdays date */ ; 

$query = "SELECT * FROM table_name WHERE date_field BETWEEN $start_date AND $end_date";