2013-04-26 93 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";