PHP, Mysql получает архив по МЕСЯЦЕ от strtotime - PullRequest
0 голосов
/ 20 февраля 2012

Я создаю страницу блога. Но я начинаю борьбу за раздел архива.

У меня есть комментарии в mysql с отметкой времени:

$timestamp = strtotime($month . " " . $date . " " . $year . " " . $time);

Теперь, если у меня есть ссылка на: blog.php?Month=Febuary&Year=2012

Как бы я использовал эти два параметра в запросе sql для извлечения всех записей за этот месяц и год?

Спасибо
бен

1 Ответ

1 голос
/ 20 февраля 2012

Редактировать : Изменено их использование меток времени UNIX ...

Нет необходимости в strtotime() для запроса по месяцу и году.Вместо этого вы можете просто сделать:

SELECT * 
FROM blogtbl
WHERE 
  YEAR(FROM_UNIXTIME(postdate)) = 2012
  AND UPPER(MONTHNAME(FROM_UNIXTIME(postdate))) = 'FEBRUARY'

Это также можно сделать с помощью DATE_FORMAT()

SELECT * 
FROM blogtbl
WHERE 
  UPPER(DATE_FORMAT(FROM_UNIXTIME(postdate), '%M %Y')) = 'FEBRUARY 2012'

Примечание Я использую UPPER() для преобразования запроса вв верхнем регистре, просто для упрощения передачи переменных PHP с непредсказуемым регистром.

Мы предполагаем, что вы уже знаете, как извлечь месяц и год из строки запроса в PHP через $_GET['Month'], $_GET['Year'] и правильно экранировать их для вставкив ваш запрос.

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