0

我做了一个php程序

该节目显示频道时间表

在频道页面中,我想显示当前节目和下一个节目,

在时间表表中,我在名为“when”的单元格中插入程序的时间

select when from Schedules where channel_id = 13

这将在时间戳中显示所有程序的时间

我只想输出当前程序,只输出下一个程序


抱歉英语不好

4

2 回答 2

0

假设when列是DATETIME类型:

( SELECT * FROM Schedules where channel_id = 13 AND when <= NOW() ORDER BY when DESC LIMIT 1 )
UNION
( SELECT * FROM Schedules where channel_id = 13 AND when > NOW() ORDER BY when ASC LIMIT 1 )
于 2012-04-19T00:32:42.690 回答
0

我没有什么可以测试的,但是这个查询将获得频道 id 13 的所有时间表,这些时间表是在 $time 之后或之后安排的,我们按时间按 asc 顺序对所有这些结果进行排序,最后选择其中的前两个(这将是 $time 时的程序,之后的下一个程序)

SELECT field1,field2,when FROM Schedules where channel_id = 13 AND 
when >= $time ORDER BY when ASC LIMIT 2

根据需要填写 field1、field2 和 $time 变量。

于 2012-04-19T00:37:56.263 回答