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

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

vovanium

Новичок
LONGMAN
В смысле я хочу очищать одну таблицу каждый день в 00:00, как мне это сделать без крона?
В MySQL 5.1 есть аналог - Events для таких целей. Если более древний мускуль, то обычно в таких случаях пишется скрипт который при вызове, выполняет нужное действие, если нужно, вызов скрипта делаешь путем добавления невидимой картинки на страницу, причем желательно сразу отдавать картинку и обрывать коннект с браузером, чтобы он не подвисал в состоянии загрузки (если скрипт долго выполняется)
 

LONGMAN

Dark Side of the Moon..
vovanium
MySQL у меня 5.0.77 значит нету Events?
Я не понял почему с картинкой? Ведь можно обычный require? Скрипт написан, проблема в том как определить настало время запуска или нет..
 

vovanium

Новичок
Нет, эта фишка только в 5.1 появились.
Картинка для того чтобы не увеличивать время ожидания юзером страницы, плюс заодно, чтобы ошибки работы служебных скриптов, не влияли на работу сайта.
 

LONGMAN

Dark Side of the Moon..
И ещё, если обновить MySQL до 5.1 версии Events будет работать? Или ещё нужно дополнильное ПО?
 

x-yuri

Новичок
причем желательно сразу отдавать картинку и обрывать коннект с браузером, чтобы он не подвисал в состоянии загрузки (если скрипт долго выполняется)
vovanium а как коннект оборвать?
 

LONGMAN

Dark Side of the Moon..
Автор оригинала: vovanium
Нет, эта фишка только в 5.1 появились.
Картинка для того чтобы не увеличивать время ожидания юзером страницы, плюс заодно, чтобы ошибки работы служебных скриптов, не влияли на работу сайта.
Можешь показать пример для решения моей задачи?
 

vovanium

Новичок
Нет, нужен только новый мускуль. А учитывая что 5.1 уже является основным релизом, то апдейт не помешает :)
 

Фанат

oncle terrible
Команда форума
не очищать никакие таблицы в 0 часов, потому что это дурость
 

LONGMAN

Dark Side of the Moon..
*****
То есть не очищать хочу а обновить. И думаю это не дурость..
 

LONGMAN

Dark Side of the Moon..
Почему же дурость? Это таблица users и я хочу считать сколько постов оставил конкретный юзер за сегодня. Или сколько времени провёл на сайте за сегодня. С помошью крона я хотел в 00:00 обновить поля dayposts и daytime и обнулить. Это ведь самый оптмальный путь
 

zerkms

TDD infected
Команда форума
SELECT COUNT(*) FROM `comments` WHERE `user_id` = 666 AND `date` > DATE(NOW() - INTERVAL 1 DAY)
 

LONGMAN

Dark Side of the Moon..
zerkms
Не годится. Как мне так посчитать сколько времени провёл юзер на сайте за сегодня? Время считаю в поле daytime в секундах.
 

LONGMAN

Dark Side of the Moon..
zerkms
Да, для первого годится, но.. Я вообшем с помошью крона делал так, каждый день в 00:00 обнулял в таблице users поля daypost, daytime и похожые. Сейчась лишили крона, как мне иммитироват его работы? Как лучше сделать, в каждый файл сделать проверку и если уже 00:00 то заинклудить определённый скрипт обновляющий базы? Эх, как не хватает крона..
 

zerkms

TDD infected
Команда форума
если тебе дали уже готовое решение без крона - то зачем тебе этот костыль?

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

собственно услуги помощи навязывать не буду - хочешь костыль, делай костыль, но только не эхай и не ахай.
 

LONGMAN

Dark Side of the Moon..
zerkms
Видима вы не поняли меня.. Ладно, поставлю вопрос иначе.
Как мне посчитать сколько времени провёл юзер на сайте за сегодня? Т.е. на пример в поле time я храню времени юзера в целиком. Как мне определить сколько он провёл за сегодня? Выше сказал как я делал это с помошью крона.
 

zerkms

TDD infected
Команда форума
LONGMAN
я уже сказал - что описание слишком невнятное, чтобы что-то советовать.

Как мне посчитать сколько времени провёл юзер на сайте за сегодня?
отнять `time` сегодня от `time` вчера. м?
 

LONGMAN

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