Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Уничтожение записей через 7 дней
 
 автор: Night_Charter   (13.11.2007 в 17:52)   письмо автору
 
 

Здравствуй php-guru, спасибо за просмотр моего поста, не спеши закрывать окно )
Суть вот в чем.
Была поставлена задача, проверять каждый день записи в БД, которые должны сдохнуть через 7 дней (или 1 неделю).
Даты хранятся в mktime.

А теперь вопрос.
Как произвести запрос в бд, ведь дата добавления записи, будем называть ее в дальнейшем объект может быть добавлена в разное время суток.
Тоесть сформировать дату и подставить ее в запрос, таким образом чтобы вывелись все записи у которых в поле endate будет прописана дата которая совпадет с этим сроком 7-ми дней.

Я предполагаю, что надо к текущей дате приплюсовать просто 7 дней и смотреть в базе, но прокатит ли такой вариант?
Если да, приведите, пожалуйста пример.
Заранее благодарен и расчитавю на искреннюю и скоруу помощь.

   
 
 автор: sim5   (13.11.2007 в 18:25)   письмо автору
 
   для: Night_Charter   (13.11.2007 в 17:52)
 

Да, берите текущее время также в mktime отнимайте от ней неделю (604800), а затем сравнивайте, если дата из базы больше или равна этому значению - значит удалять.

   
 
 автор: ddhvvn   (13.11.2007 в 18:30)   письмо автору
 
   для: Night_Charter   (13.11.2007 в 17:52)
 

>Я предполагаю, что надо к текущей дате приплюсовать просто 7 дней и смотреть в базе, но прокатит ли такой вариант?

Да, прокатит!
Точно не помню, но для выборки инфы попробуйте вот это:

SELECT * FROM table_name WHERE (date_time+3600*24*7) > NOW();


Прибавление времени в PHP:

<?php
  $week 
time() + 60*60*24*7//это чтобы было понятней
?>

   
 
 автор: Night_Charter   (13.11.2007 в 20:29)   письмо автору
 
   для: ddhvvn   (13.11.2007 в 18:30)
 

Всем спасибо, буду разруливать :)

   
 
 автор: FINT   (14.11.2007 в 12:02)   письмо автору
 
   для: Night_Charter   (13.11.2007 в 20:29)
 

А почему не сделать более просто, т.е. создать в таблице поле (например) начало записи и поле конец действия записи! При добавлении записи мы просто добавляем 7 дней и мы получим окончание действия записи!!! и просто делаем проверку на совпадение дат (текущей даты и даты окончания срока действия записи) если совпадают, то просто берём и удоляем!
Думаю, что так на много проще, или я что то не так понял, то простите меня :)

   
 
 автор: Night_Charter   (14.11.2007 в 17:12)   письмо автору
 
   для: FINT   (14.11.2007 в 12:02)
 

Я собственно так и делаю.
Понадобилась функция уведомления о сдыхании записи на email за неделю до ее удаления.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования