Проблема с MYSQL-запросом между двумя временными метками? - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть временные метки эпохи в моей базе данных MySQL, я использую средство выбора даты Jquery, чтобы выбрать МЕЖДУ двумя датами. Это прекрасно работает, когда я выбираю минимум 1 день, но если я выберу воскресенье - воскресенье (в тот же день), он должен вернуть записи, которые упали в этот день.

Я предполагаю, что это из-за отметки времени эпохи, встроенной в средство выбора даты. Когда вы выбираете дату, как сегодня, она возвращается с:

BETWEEN 1317103200 AND 1317103200 ....

Я знаю, как работают временные метки эпохи, и похоже, что это секунда, когда вы конвертируете и выполняете математику ... Как мне реализовать значение DISTINT для этого ПОЛНОГО ДНЯ - так что он просто смотрит на полные 24 часа а не до миллисекунды ???

SELECT category, id, date, title 
FROM myTable
WHERE date BETWEEN $beginDate AND $endDate AND...

Большое спасибо !!

1 Ответ

4 голосов
/ 28 сентября 2011

Используйте функцию mktime(), где $month, $day и $year заполнены месяцем, днем ​​и годом из текстового поля вашей даты:

// Assumes date is in this format: dd/mm/yyyy, and your $_GET key is 'date'
list($day, $month, $year) = explode('/', $_GET['date']);

$beginDate = mktime(0, 0, 0, $month, $day, $year);
$endDate = mktime(23, 59, 59, $month, $day, $year);
...