Я хочу установить задание cron, которое будет выполняться каждые 15 минут. Прежде чем углубляться в описание этого запроса, я объясню, как работает моя база данных.
У меня есть 2 таблицы ' истории ' и ' голосов '. Вся информация о статье, такая как название, категория и т. Д., Хранится в таблице « Stories ». Неудивительно, что все голоса, относящиеся к статье, хранятся в таблице « голос ». В таблице голосований есть поле с именем « item_name », которое соответствует « id » статьи, которая находится в таблице «истории». Наконец, в таблице ' story ' у меня есть поле с именем ' показывая ', которое по умолчанию установлено на 0. И я хочу изменить его на разные значения в зависимости от того, сколько голосов статья имеет, но больше об этом позже.
Вот структура моей базы данных:
Таблица рассказов
Таблица голосов
Хорошо, теперь, когда я очистил структуру базы данных, давайте перейдем к моему вопросу. Мне нужен запрос, который бы просматривал все статьи с показом = 0 и суммировал голоса, которые соответствуют конкретной статье. Если сумма голосов = 10, то заданное значение = 1, если сумма голосов = -10, чем заданное значение = 2. Я не знаю, как будет выглядеть такой запрос, я действительно не знаю: /
Так может кто-нибудь предложить решение, пожалуйста?
Дополнение: Я задавал подобный вопрос раньше, и некоторые люди предлагали триггер или обновлять базу данных каждый раз, когда голосуют. Но я бы лучше проверял это каждые 15 минут с помощью cron. )))
РЕДАКТИРОВАТЬ: Просто чтобы дать вам больше понимания того, как это работает)))
Например, эта строка из таблицы «историй»:
id | 12
st_auth | имя автора
st_date | дата истории
st_title | название истории
st_category | категория истории
st_body | тело истории
показывает | 0 для ожидающих, 1 для утвержденных и 2 для не утвержденных
Co отвечает на этот вопрос из таблицы голосов:
id | 83
item_name | 12 (идентификатор статьи)
voice_value | 1 для upvote -1 для downvote
и т.д ...