База данных работа с Датой

nmDimas2

Постоялец
Регистрация
20 Апр 2010
Сообщения
78
Реакции
13
сохраняется информация и надо сделать так чтоб если редактировать эту информацию в течение двух недель от даты ее создание то все нормально а если редактирование происходить уже поже двух недель то в одном из столбцов будет метка что редакция была сделана поже двух недель

Как это реализовать с помощи PHP
 
Загоняешь в один из столбцов (например time_created) дату создания записи в формате time()

PHP:
mysql_query("INSERT INTO tab1 SET `bla`='".$bla."', `bla1`='".$bla1".', ..... `time_created`='".time()."' ");
Далее при редактировании записи проверяешь , больше ли разница между датой создания и редактирования чем 2 недели или нет...

PHP:
$query=mysql_query("SELECT  time_created FROM tab1 WHERE .... LIMIT 1");
if ($query+(60*60*24*14)<=time()){ //если разница больше 2х недель
//то при сохранении записи после редактирования вносим отметку времени в столбец time_edit
mysql_query("INSERT INTO tab1 SET `bla`='".$bla."', `bla1`='".$bla1".', ..... `time_edit`='".time()."' ");
}
при всём этом постоянно проверяешь пустая ли ячейка time_edit, если пустая то ничего не выводишь, а если есть в ней метка времени, то выводишь соответствующую запись:
PHP:
echo "Редактировалось:". date("Y.m.d H:i:s", $query['time_edit']);
 
$query+(60*60*24*14)<=time()

$query значения даты при создание. добавляем 14 дней что получаем максимальную дату после чего мы проверяем и тут вопрос такой . time() это что типа время автоматически или тут какой то подвох что он такое какой принцип его использования
или мануал хороший
 
$query+(60*60*24*14)<=time()
$query значения даты при создание. добавляем 14 дней что получаем максимальную дату после чего мы проверяем и тут вопрос такой . time() это что типа время автоматически или тут какой то подвох что он такое какой принцип его использования
или мануал хороший
М-м-м-м... батенька а вы с РНР давно знакомы?
time() это стандартная функция РНР!Возвращает текущую метку времени... Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.
 
time() это стандартная функция РНР!Возвращает текущую метку времени... Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.


php.su это канешно хорошо но часто не понимаешь смысл того что ужимают в два слова но спс это статья мне помогла разобраться time().
А раздел так и называется для новичков
Очень благодарен за советы и способ решения некогда не имел дело с временем в php
 
Небольшая рекомендация... для того, что бы легче было осваивать РНР найдите на просторах интернета и скачайте себе на комп справочник по РНР в формате chm например php_manual.chm (сейчас они и на русском языке есть) Там как правило разбито всё по тематическим разделам и есть удобный поиск... найти описание любой непонятной функции не составит труда, да и сэкономит трафик в интернете :)
 
Поставь поле доп. флаг
 
Нету нужных сообщений что бы создать тему, по этому пишу тут, потому как вопрос похож.

Я хочу что бы скрипт удалял личные сообщения которые старше 60 дней. Но тут у меня возникла проблема, потому как время в unix формате.
Но получилась пока что ...:
PHP:
$db->query("SELECT date FROM " . PREFIX . "_pm");

while ($row = $db->get_array()){
	$test = $row['date'] - 5259486;
}

$db->query("DELETE FROM " . PREFIX . "_pm WHERE date < ($test)");
он не удаляет старые сообщения и я не знаю как исправить.
 
PHP:
$db->query("DELETE FROM " . PREFIX . "_pm WHERE date < ".(mktime()-5259486)."");
 
Назад
Сверху