Автоматическое удаление строки

DV

Guest
Автоматическое удаление строки

Как сделать автоматическое удаление строки после 24 часов? Например, горячая новость, которая должна быть удалена автоматически после наступления новых суток.
 

confguru

ExAdmin
Команда форума
Сделай поле актуально_до
И выводи с фильтрацией
 

Кром

Новичок
DV
Сделай 2 запроса, одним удаляй все что не подходят под условия, вторым делая вывод.
 

lucas

Guest
Запускай крипт по крону и удаляй "с фильтрацией".

-~{}~ 07.03.04 22:18:

Кром
...т. к. скорее всего новости добавляются реже, чем их просматривают.
 

Кром

Новичок
lucas
По сути да.
С другой стороны, учитывая, что горячая новость много место не занимает в админке достаточно сделать кнопку "удалить старые новости" с каким нибудь временным полем.
И раз в месяц на нее давить. :)
 

Demiurg

Guest
>надо чтобы после 24 часов новость удалялась из базы.
кому надо ? тебе, потому, что лень выводящие скрипты править ? Или в ТЗ написано?
 

DV

Guest
кому надо ? тебе, потому, что лень выводящие скрипты править ? Или в ТЗ написано?
Редактор так хочет, т.к. редактирование новостей полностью делает он. Надо, чтобы было у него меньше телодвижений. Я сделал что новость при смене суток не появляется, но надо, чтобы она и из базы удалялась.
Т.к. она уже свой век отжила.:)
 

Demiurg

Guest
Тебе уже предложили сделать время актуальности и по умолчанию поставить 24 часа. Телодвижений для твоего любимого редакотора нуль.
 

Demiurg

Guest
Делаешь поле в базе типа datetime. при выводе учитываешь его(where ... and actual < now())
 

lucas

Guest
Если хочется все таки удалять, то можно использовать вариант, компромиссный между моим (крон) и Крома (2 запроса):

PHP:
1 == mt_rand(1,1000) && mysql_query('delete...') ;
mysql_query('select...') ;
 
Сверху