Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Lion_astana
16 / 16 / 7
Регистрация: 15.03.2010
Сообщений: 224
1

Изменение значения в БД через определенное время.

20.12.2011, 12:20. Просмотров 1479. Ответов 5
Метки нет (Все метки)

Добрый день друзья!
Не совсем уверен в правильности выбора раздела, но опишу задачу которая передо мною стоит:

Имеется база данных, заполняется посетилями сайта. Нужно сделать так, чтобы на странице сайта, на которой выводится информация, через какой-то период (например 10 дней) информация выводиться перестала.

Что-то подобное используется на досках объявлений, т.е. через 7 дней после того, как человек подал объявление на сайт, ему приходит сообщение с просьбой продлить объявление, а само оно переносится в "Архив". Затем, зайдя в личный кабинет пользователь нажимает "продлить" и объявление снова начинает показываться посетителям.

Я вижу с чего можно начать: нужно в таблице с информацией в базе данных добавить столбец, например "status" и присваивать ему значение по умолчанию, например "1". На странице сайта сделать вовод инфы из таблицы, всех строк, у которых "status"=1.
А вот как сделать чтобы после определенного периода "status" автоматически менялся бы на , например "0"?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 12:20
Ответы с готовыми решениями:

Изменение значения в БД через определенное время..
Что т не могу разобраться! вопрос такой. Когда пользователь авторизации через...

Выборка по дате через определенное время
Всем привет. Никак не могу справится с решением. Есть запись у которой...

Удаление определенных записей через определенное время
Доброго времени суток! Помогите мне с одним вопросом. Есть БД с таблицей users,...

Парсинг сайта через определенное время
Каким образом реализовать парсинг страницы через, допустим полчаса?

Срабатывание скрипта через определенное время
Подскажите как можно сделать так что бы определенный скрипт срабатывал после...

5
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
20.12.2011, 14:32 2
// обновить объявления через 7 дней
SQL
1
2
3
UPDATE имя_таблицы  
      SET `status` = 0 
      WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(поле_с_датой_подачи_объявл) > 86400 * 7
1
KoIIIeY
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
20.12.2011, 15:06 3
И повесить на крон как демон. Туда же, в этот демон, положить рассылку email'ов.
А сам крон на проверку два раза в день.
1
Lion_astana
16 / 16 / 7
Регистрация: 15.03.2010
Сообщений: 224
20.12.2011, 18:22  [ТС] 4
Love_and_Peace, Спасибо дружище, а можно поподробнее о:
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(поле_с_датой_подачи_объявл) > 86400 * 7
Как это расшифровать? Если честно, то первый раз "такое" вижу...



KoIIIeY, и тебе спасибо огромное за совет, но совершенно не знаю что такое "демон", как "положить рассылку email'ов" и что за "крон" и как его автоматически проверять два раза в день?

Я понимаю что много вопросов, но помогите хоть разобраться что это и с чего начать изучать, может есть какие-то статьи на эту тему, примеры кода и т.п.?
0
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
20.12.2011, 18:49 5
Цитата Сообщение от Lion_astana Посмотреть сообщение
Как это расшифровать? Если честно, то первый раз "такое" вижу...
ну тут сказано, что надо обновить поля status (приравнять нулю в твоем случае), у которых текущее время (UNIX_TIMESTAMP() - время с 1970 года в секундах, время UNIX'a) отнять время подачи объявления (так же переводим в секунды - UNIX_TIMESTAMP(поле_с_датой_подачи_объявл)), и если это все больше 7 дней (86400 секунд в сутках), то происходит обновление.

Цитата Сообщение от Lion_astana Посмотреть сообщение
не знаю что такое "демон", как "положить рассылку email'ов" и что за "крон"
cron это спец штука для автоматизации процессов (я сам в этом ни х смыслю, может KoIIIeY лучше знает, знаю то, что он как бы позволяет автоматически отслеживать время и выполнять какие-либо действия в заданное (установленное) время), а демон тоже к крону относится.

Добавлено через 1 минуту
хотя тут cron и не нужен, просто обращаешься к БД с кодом обновления каждый раз при обращении к сайту и все, РНР увидя, что требуется обновление, такое и сделает
0
Lion_astana
16 / 16 / 7
Регистрация: 15.03.2010
Сообщений: 224
20.12.2011, 20:43  [ТС] 6
Love_and_Peace, спасибо, попробую проработать твой совет.
Тему не закрываю, если у кого еще появятся мысли, то буду очень признателен.
0
20.12.2011, 20:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2011, 20:43

Удаление переменных в определенное время
Есть массив с переменными, в него занесены ip адреса пользователей и мне надо...

Удаление данных на определенное время
Подскажите,как удалить данные из таблицы на определенное время( Например если 1...

Вывод данных из БД за определенное время
Помогите весь вечер убил так и не понял как можно вывести данные из бд дапустим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru