Автоматические таймеры

  • Автор темы Автор темы Ahelhot
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Ahelhot

Новичок
Хочу сделать некую "накопительную систему", и столкнулся с одной трудностью:

Мне надо что бы каждые 3 дня, у юзеров автоматически уменьшалась переменная points из базы (mysql).
Но как сделать это, что-бы самому юзеру не надо было заходить на сайт? (или можно проверять по дате каждый раз когда любой юзер обновит страницу?)
 
еще как вариант можно получать дату последнего апдейта и на основании этого пересчитывать значение. Например шесть дней назад значение дыло 8, за шесть дней должно уменьшиться на два, значит апдейтим в базу число 6, но реальность реализации зависит от вашей конкретной задачи
 
Почитал про крон, но мало что понял ;)

А сделать я хочу следуюшие:
Система варнингов (замечаний), работает по накопительной системе. Т.е модератор может добавить несколько пунктов к текущему количеству пользователя, при достижении 10 юзер блокируется до тех пор, пока пункты не опустятся ниже критической отметки.. А сами пункты автоматически уменьшаются на 1 (через 3 дня, после получения).
 
Еще немного потыкав крон понял что он не подойдет.
Мне то надо что бы пункты уменьшались через 3 дня после получения, а не каждые 3 дня у всех пользователей сразу..

Кстати может кто нибудь даст ссылку на пример системы замечаний. Я посмотрел как сделано на форумных движках (punbb), но там работает по другому (просто блокирует до определенного времени)..
 
Ahelhot
а вот если крон каждый день запускать и проверять даты ?
 
Еще немного потыкав крон понял что он не подойдет.
Мне то надо что бы пункты уменьшались через 3 дня после получения, а не каждые 3 дня у всех пользователей сразу..

Значит нужно написать скрипт, который будет уменьшать только у тех, у кого нужно.
 
Ну так он будет уменьшать когда пользователь зашел на сайт.

Т.е допустим заходит "Вася", у которого было 10 пунктов (лимит), мы можем проверить по дате получения пункта из базы (и если это больше > 3, то снять блокировку)..
Но проблема в том, что я хочу сделать статус "заблокирован", и он должен сниматься в не зависимости от - зашел "Вася" на форум, или нет.

Можно проверять статус всех пользователей на сайте, при любом переходе на любую страницу, любым пользователем. Это конечно решит проблему, но не будет ли слишком большого количества ненужных запросов?
 
тебе уже сказали - по крону запускать скрипт каждый день и вычитать только у тех, у кого надо именно сегодня

не понимаешь - вернись в школу и выучи уроки информатики 10го класса, учить лентяев вычитанию и делению желающих немного
 
Да ну?
А если бан на один час?
Что запускать каждый час? )

// при ответе "да", скажу тоже но "Если бан на 5 минут".
Видел на некоторых сайтах похожее, но там бан снимается "секунда в секунду". Т.е явно не раз в день.
 
да, блин, cron выполняется раз в минуту (сюрприз!)

закройте plz тему ради ограничения объема идиотизма на форуме, ТС безнадежен, щас еще добрые прохожие подключатся с хорошими идеями
 
Ок, послушаю более опытного )
Я просто про крон узнал только сегодня, в принципе проверки "раз в пол дня" мне хватит.

Спасибо за ответы.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху