Периодическое очищение поля
#1
Отправлено 20 Апрель 2016 - 10:13
#2
Отправлено 20 Апрель 2016 - 10:18
if (date('w')==0) { $line['Ваше поле'] = ''; }
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#3
Отправлено 20 Апрель 2016 - 10:32
andibrag (20 Апрель 2016 - 10:18) писал:
if (date('w')==0) { $line['Ваше поле'] = ''; }
Т.е. в данном случае if (date('w')==0) подразумевает если воскресенье - очистить "Мое поле"? 0 в данном случае знак воскресение, 1 - понедельник и т.д? День недели привязан в таком случае к системному времени?
И еще вопрос, если период нужен календарный месяц...
Сообщение отредактировал Сан Саныч: 20 Апрель 2016 - 10:37
#4
Отправлено 20 Апрель 2016 - 10:42
Сан Саныч (20 Апрель 2016 - 10:32) писал:
Сан Саныч (20 Апрель 2016 - 10:32) писал:
if (date('j')==1) { $line['Ваше поле'] = ''; }Функции работы с датой и временем.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#5
Отправлено 20 Апрель 2016 - 11:09
Сообщение отредактировал Сан Саныч: 20 Апрель 2016 - 11:28
#6
Отправлено 20 Апрель 2016 - 11:22
Сан Саныч (20 Апрель 2016 - 11:09) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#7
Отправлено 20 Апрель 2016 - 11:36
andibrag (20 Апрель 2016 - 11:22) писал:
попробовал поставить вычисление на сегодня (среда), запустил, затирает, предыдущие записи т.е. то что надо. Но он затирает и запись которую внес после этого сегодня. Может нужно конкретное время прописать например: воскресение, 00:00:00 ч.
например if (date('w H:i:s')==0 00:00:00){$line['Неделя'] = ''; так не работает
Сообщение отредактировал Сан Саныч: 20 Апрель 2016 - 12:20
#8
Отправлено 20 Апрель 2016 - 14:47
Сан Саныч (20 Апрель 2016 - 11:36) писал:
например if (date('w H:i:s')==0 00:00:00){$line['Неделя'] = ''; так не работает
Чуть позднее напишу варианты.
Сообщение отредактировал andibrag: 20 Апрель 2016 - 14:49
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#9
Отправлено 21 Апрель 2016 - 11:40
andibrag (20 Апрель 2016 - 14:47) писал:
Первый способ - использовать крон, который будет запускать скрипт согласно прописанному графику.
Для этого в настройках cron создать новую задачу и в поле Команда вписать код с использование update_query
$data['Неделя'] = ''; update_query($data, "Ваша таблица", "Условие");Если обнулять нужно поле во всех записях таблицы, то вместо условия поставьте 1.
И еще подозреваю, что возможно вместо "Неделя" в вычислениях крон нужно использовать внутреннее имя поля - найдете в настройках полей таблицы. Это лучше у разработчиков уточнить.
Второй способ - создать еще одно поле, например Очищено, которое содержит номер недели, когда была произведена очистка содержимого.
В вычислении пропишите:
if (date('W')!= $line['Очищено']) // если номер текущей недели не совпадает с числом в поле Очищено - удаляем данные и обновляем номер недели { $line['Неделя'] = ''; $line['Очищено'] = date('W'); }Выбирайте.
И лучше это отдельной темой вынести.
Сообщение отредактировал andibrag: 21 Апрель 2016 - 11:43
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#10
Отправлено 21 Апрель 2016 - 12:08
andibrag (21 Апрель 2016 - 11:40) писал:
Первый способ - использовать крон, который будет запускать скрипт согласно прописанному графику.
Для этого в настройках cron создать новую задачу и в поле Команда вписать код с использование update_query
$data['Неделя'] = ''; update_query($data, "Ваша таблица", "Условие");Если обнулять нужно поле во всех записях таблицы, то вместо условия поставьте 1.
И еще подозреваю, что возможно вместо "Неделя" в вычислениях крон нужно использовать внутреннее имя поля - найдете в настройках полей таблицы. Это лучше у разработчиков уточнить.
Второй способ - создать еще одно поле, например Очищено, которое содержит номер недели, когда была произведена очистка содержимого.
В вычислении пропишите:
if (date('W')!= $line['Очищено']) // если номер текущей недели не совпадает с числом в поле Очищено - удаляем данные и обновляем номер недели { $line['Неделя'] = ''; $line['Очищено'] = date('W'); }Выбирайте.
И лучше это отдельной темой вынести.
спасибо за варианты, не совсем понял в 1-м "Условие" что в нем должно быть? Конкретная таблица?
Сообщение отредактировал Сан Саныч: 21 Апрель 2016 - 12:09
#11
Отправлено 21 Апрель 2016 - 12:26
Сообщение отредактировал Сан Саныч: 21 Апрель 2016 - 12:43
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных