Небольшие вопросы по PHP

  • Автор темы Автор темы LONGMAN
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
LONGMAN
В смысле я хочу очищать одну таблицу каждый день в 00:00, как мне это сделать без крона?
В MySQL 5.1 есть аналог - Events для таких целей. Если более древний мускуль, то обычно в таких случаях пишется скрипт который при вызове, выполняет нужное действие, если нужно, вызов скрипта делаешь путем добавления невидимой картинки на страницу, причем желательно сразу отдавать картинку и обрывать коннект с браузером, чтобы он не подвисал в состоянии загрузки (если скрипт долго выполняется)
 
vovanium
MySQL у меня 5.0.77 значит нету Events?
Я не понял почему с картинкой? Ведь можно обычный require? Скрипт написан, проблема в том как определить настало время запуска или нет..
 
Нет, эта фишка только в 5.1 появились.
Картинка для того чтобы не увеличивать время ожидания юзером страницы, плюс заодно, чтобы ошибки работы служебных скриптов, не влияли на работу сайта.
 
И ещё, если обновить MySQL до 5.1 версии Events будет работать? Или ещё нужно дополнильное ПО?
 
причем желательно сразу отдавать картинку и обрывать коннект с браузером, чтобы он не подвисал в состоянии загрузки (если скрипт долго выполняется)
vovanium а как коннект оборвать?
 
Автор оригинала: vovanium
Нет, эта фишка только в 5.1 появились.
Картинка для того чтобы не увеличивать время ожидания юзером страницы, плюс заодно, чтобы ошибки работы служебных скриптов, не влияли на работу сайта.
Можешь показать пример для решения моей задачи?
 
Нет, нужен только новый мускуль. А учитывая что 5.1 уже является основным релизом, то апдейт не помешает :)
 
не очищать никакие таблицы в 0 часов, потому что это дурость
 
*****
То есть не очищать хочу а обновить. И думаю это не дурость..
 
Почему же дурость? Это таблица users и я хочу считать сколько постов оставил конкретный юзер за сегодня. Или сколько времени провёл на сайте за сегодня. С помошью крона я хотел в 00:00 обновить поля dayposts и daytime и обнулить. Это ведь самый оптмальный путь
 
SELECT COUNT(*) FROM `comments` WHERE `user_id` = 666 AND `date` > DATE(NOW() - INTERVAL 1 DAY)
 
zerkms
Не годится. Как мне так посчитать сколько времени провёл юзер на сайте за сегодня? Время считаю в поле daytime в секундах.
 
zerkms
Да, для первого годится, но.. Я вообшем с помошью крона делал так, каждый день в 00:00 обнулял в таблице users поля daypost, daytime и похожые. Сейчась лишили крона, как мне иммитироват его работы? Как лучше сделать, в каждый файл сделать проверку и если уже 00:00 то заинклудить определённый скрипт обновляющий базы? Эх, как не хватает крона..
 
если тебе дали уже готовое решение без крона - то зачем тебе этот костыль?

(про вторую половину вопроса ты сам не уточнил)

собственно услуги помощи навязывать не буду - хочешь костыль, делай костыль, но только не эхай и не ахай.
 
zerkms
Видима вы не поняли меня.. Ладно, поставлю вопрос иначе.
Как мне посчитать сколько времени провёл юзер на сайте за сегодня? Т.е. на пример в поле time я храню времени юзера в целиком. Как мне определить сколько он провёл за сегодня? Выше сказал как я делал это с помошью крона.
 
LONGMAN
я уже сказал - что описание слишком невнятное, чтобы что-то советовать.

Как мне посчитать сколько времени провёл юзер на сайте за сегодня?
отнять `time` сегодня от `time` вчера. м?
 
zerkms
Как определить и где хранить `time` сегодня и `time` вчера? Как определить что уже настало "сегодня"?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху