MySql Query显示带有时间条件的记录

时间:2011-02-25 10:04:07

标签: php mysql

例如,我通过管理员发布新闻,并提到开始日期为25-02-2011,结束日期为28-02-2011。它将于2011年2月25日在用户端显示。

如果我在开始日期通过管理员发布新闻为26-02-2011,结束日期为28-02-2011,那么它将在26-02-2011显示新闻。

如果我没有在2011年2月27日和2011年2月28日发布任何内容,则应显示上次发布的新闻。 在这种情况下,它应显示27-02-2011和2011年2月28日发布的新闻。

编辑:“SELECT id,title FROM news WHERE startDate> = CURDATE()AND
expiryDate< = CURDATE()AND status ='Active'ORDER BY ID DESC“。当前日期有新闻。它甚至没有获取该记录。要做什么改变。

如何使用mysql完成此操作。

提前感谢...

4 个答案:

答案 0 :(得分:0)

如果这是您正在谈论的网站,请提及您正在使用的服务器端技术。例如它是否使用PHP? 因为你要求的东西,只能通过使用mysql来实现。

答案 1 :(得分:0)

select * from news where startdate >= now() and enddate <= now() limit 1

您必须更改表名和列名。

答案 2 :(得分:0)

看起来你刚刚混淆了运营商。 Today应该在startdate之后,不是吗?

SELECT id, title FROM news WHERE startDate <= CURDATE() AND
expiryDate >= CURDATE() AND status='Active' ORDER BY id DESC

答案 3 :(得分:0)

试试这段代码:

SELECT id, title FROM news WHERE now() between startDate AND expiryDate AND status='Active' ORDER BY id DESC