У меня есть 1 таблица, заполненная статьями. Для целей этого поста, давайте просто скажем, что он имеет 4 поля. story_id, story_title, story_numyes, story_numno
Каждая статья может быть оценена как ДА или НЕТ. Я храню каждый рейтинг в другой таблице, которая содержит 3 поля: Vote_storyid, Vote_date (в качестве временной метки), voice_code (1 = да, 0 = нет).
Поэтому, когда кто-то голосует «за» над статьей, он запускает запрос на обновление к story_numyes + 1, а также запрос на вставку, чтобы записать идентификатор истории, дату и код голосования в 2-й таблице.
Я бы хотел отсортировать статьи по количеству проголосовавших ДА или НЕТ. Для рейтинга «Лучшее за все время» очевидно просто .... ORDER BY story_numyes DESC.
Но как мне поступить с лучшими / худшими статьями сегодня, на этой неделе, в этом месяце?
Я получаю метки времени, чтобы отмечать даты отсечения для каждого периода с помощью следующего:
$yesterday= strtotime("yesterday");
$last_week = strtotime("last week");
$last_month = strtotime("last month");
Но я не уверен, как использовать эти временные метки в запросе mysql для достижения желаемых результатов.