Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Автоочистка гостевой книги
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
В общем, хочу без крона реализовать автоочистку гостевой книги от всех сообщений... ручная автоочистка уже не в моде что называется))) Не подскажите как это можно сделать??? Гостевая сделана на PHP + MySQL.
DELETEFROM tablename WHERE DATEDIFF(NOW(), date_create)>0
----- армия.. самое убогое место
n1k86
Отправлено: 23 Марта, 2011 - 07:31:01
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
По подробней можно, пожалуйста???
movEAX
Отправлено: 23 Марта, 2011 - 07:34:16
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
n1k86 пишет:
По подробней можно, пожалуйста???
А что не понятно?
Перед тем как делать выборку из базы для гостевой книги удаляете ненужные данные запросом приведенным выше, где tablename имя таблицы, а date_create - поле, содержащее дату создания записи в гостевой книге.
Описание функций для работы с датой и временем: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Спасибо. Время созданной записи в time() да???? (Добавление)
И почему > 0 ????? Объясните, пожалуйста.
movEAX
Отправлено: 23 Марта, 2011 - 08:25:05
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
DATEDIFF() returns expr1 – expr2 expressed as a value in days from one date to the other
Т.е. результатом работы функции будет разница дат в днях, а следовательно если будет возвращен 0, то сутки еще не прошли.
----- армия.. самое убогое место
n1k86
Отправлено: 23 Марта, 2011 - 11:21:50
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Понятно. Завтра тогда посмотрю, код и результат сюда покажу....)
n1k86
Отправлено: 24 Марта, 2011 - 13:45:00
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
Такой воспрос появился...а дату в каком формате мне заносить в бд?
movEAX
Отправлено: 24 Марта, 2011 - 14:23:04
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
datetime
----- армия.. самое убогое место
n1k86
Отправлено: 24 Марта, 2011 - 18:40:34
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Сработает???ато сутки ждать жесть... В БД дата записывается в формате 0000-00-00 00:00:00
Можно как нибудь сделать, чтобы сам указывал, через какой промежуток времени очистку делать???
movEAX
Отправлено: 24 Марта, 2011 - 20:56:56
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
DELETEFROM table_name WHERE create_date < CURDATE()
Удаляет все записи предыдущего дня.
----- армия.. самое убогое место
n1k86
Отправлено: 24 Марта, 2011 - 21:05:12
Частый гость
Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011
Помог: 0 раз(а)
вставил твой код, удалились все сообщения предыдущего дня...)))) Но! Всеже, то что я чуть выше написал - всё правильно??? Должно работать??? (Добавление)
У тебя есть ICQ??? Можешь кинуть в личку. Так проще крапаль будет...если тебе удобно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.