【发布时间】:2011-03-22 23:02:51
【问题描述】:
我有一张表,它按提醒日期排序,然后按 ID 排序
表格看起来像:
ID | remind_date
1 2011-01-23
2 2010-02-21
4 2011-04-04
5 2011-04-04
6 2009-05-04
我正在使用 PHP 前端来向前和向后移动记录。我想要前进和后退按钮,但我遇到了两个相同的提醒日期的问题。
请注意,ID 不是按顺序排列的,它们在此处,但在实际数据库中,它们在按提醒日期排序时会混淆
我使用的select语句是:($iid是我当前所在的记录)
SELECT id FROM myDB.reminders where remind_date > (SELECT remind_date FROM myDB.reminders where id=$iid) order by remind_date ASC LIMIT 1
那么当我到达相同的日期时会发生什么,它会跳过一个,因为它要求提醒日期>。
如果我使用提醒日期 >= 它返回当前记录。然后我的解决方案是使用限制 2 并通过 PHP 检查第一条记录是否 = 我当前的 ID,如果它确实使用了下一个。但它有 3 个相同的日期或 4 个等。
我也考虑过使用 ID 字段,但由于它们乱序,我无法添加 ID > $iid。
有什么想法吗?除了 2 个相同的日期外,它工作得很好。
【问题讨论】: