私はphpプログラムを作ります
このプログラムはチャンネルのスケジュールを表示します
チャンネルのページで、現在のプログラムと次のプログラムを表示したい、
スケジュールの表で、「いつ」というセルにプログラムの時刻を挿入します
select when from Schedules where channel_id = 13
これは、すべてのプログラムの時刻をタイムスタンプで表示します
現在のプログラムと次のプログラムだけを出力したい
悪い英語でごめんなさい
列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 )
これをテストするものはありませんが、このクエリは$time以降または$timeにスケジュールされたチャネルID13のすべてのスケジュールを取得します。このような結果はすべて、いつまでに昇順で並べ替え、最後に最初の2つを選択します(これは$timeとこの次のプログラムになります)
SELECT field1,field2,when FROM Schedules where channel_id = 13 AND
when >= $time ORDER BY when ASC LIMIT 2
必要に応じて、field1、field2、および$time変数を入力します。