Выбор следующей даты в MySQL - PullRequest
1 голос
/ 10 ноября 2009

У меня есть список дат в таблице в базе данных MySQL (даты проведения благотворительной книжной книги), которые я хочу отобразить на странице. На одной странице я отображаю дату следующего киоска, а на другой - даты киоска в следующем месяце. (В настоящее время я использую неупорядоченный список HTML и выбираю даты с помощью PHP, но это немного грязно, и я также хочу связать даты с итогами сбора средств, которые хранятся в базе данных).

Я хочу поместить даты в базу данных, чтобы можно было связать даты с итогами по сбору средств за каждую неделю. Я думаю, что как только я смогу идентифицировать дату с ближайшей предстоящей датой, я смогу использовать «LIMIT 1», чтобы выбрать дату следующей недели для отображения, и «LIMIT 4», например, где мне нужно отобразить даты для в следующем месяце, но я не могу понять, как идентифицировать запись с ближайшей предстоящей датой - определить текущую дату и затем выбрать ближайшую дату ... У меня такое ощущение, что, возможно, одна из дат MySQL функции, которые можно убедить помочь в этом, но не могу понять, как именно.

Есть идеи, как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2009

Если я правильно понимаю, вы можете просто выбрать следующие четыре даты после сегодняшнего дня. В MySQL вы можете использовать функцию CURDATE () для бита «сегодня», а затем применить порядок и ограничение к вашему оператору выбора. Например,

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 для отмены заказа при необходимости.

2 голосов
/ 10 ноября 2009

Если ваш столбец является полем 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...