我有一个MySQL数据库表中的日期列表(慈善书摊的日期),我希望在页面上显示。在一个页面上,我显示下一个摊位的日期,另一个页面显示下个月的摊位日期。 (目前我正在使用无序的HTML列表并使用PHP选择日期,但它有点混乱,我还希望将日期与存储在数据库中的筹款总数联系起来。)
我想将日期放在数据库中,以便我可以将日期与每周的筹款总数联系起来。我想,一旦我能用最近的即将到来的日期确定日期,我可以使用'LIMIT 1'来选择下周的显示日期,'LIMIT 4'说明我需要在哪里显示日期下个月,但我无法弄清楚如何识别最近的日期记录 - 确定当前日期然后选择最近的日期......我感觉可能有一个MySQL日期可以说服这些功能,但无法确切知道如何。
关于我如何做到这一点的任何想法?
答案 0 :(得分:2)
如果您的列是DATETIME
字段,则可以使用SELECT...WHERE event_date > "2009-11-06"
和ORDER BY event_date
来识别下一个字段。
SELECT * FROM so_events
WHERE event_date > "2009-11-06 15:36:00"
ORDER BY event_date ASC
LIMIT 4
MySQL将在内部为您完成工作,并选择其时间戳大于您在WHERE
子句中指定的行的行。
答案 1 :(得分:2)
如果我理解正确,您可以选择今天之后的下四个日期。 在MySQL中,您可以使用CURDATE()函数作为“今天”位,然后对您的select语句应用订单和限制。例如,
SELECT stall_date
FROM stall_dates
WHERE stall_date >= CURDATE() -- >= assumes you want today's to show too
ORDER BY
stall_date
LIMIT 4
如果需要,请使用ORDER BY stall_date DESC
来撤消订购。