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 :: Заблокировать обновление ДАТЫ и ВРЕМЯ с БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как заблокировать обновление поля даты и время при обновлении новости
Exponat
Отправлено: 18 Июля, 2013 - 12:18:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Добрый день.
Сайт самописный.
В БД есть столбик date_time тип данных timestamp.
В файле по добавлению новости прописал:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $date_time = date("Y-m-d H:i:s");

...
CODE (htmlphp):
скопировать код в буфер обмена
  1. $status = mysql_query ("INSERT INTO `news` (cat,title,text,date_time) VALUES ('".mysql_real_escape_string($cat)."','".mysql_real_escape_string($title)."','".mysql_real_escape_string($text)."','".mysql_real_escape_string($date_time)."')" ,$db) or die(mysql_error());

Тут все в порядке. Новость добавляется с заполненными полями и дата также автоматически вводится.
Но когда редактирую новость - ее дата создания (в столбику date_time) меняется. Мне нужно чтоб она оставалась такой когда добавляли новость. Можно ее не трогать?
В файле по редактированию новости никакого update для date_time нет.

(Отредактировано автором: 18 Июля, 2013 - 12:19:00)

 
 Top
Master_pascal
Отправлено: 18 Июля, 2013 - 12:36:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+][+][+][+][+]


где исходники запроса на редактирование

(Отредактировано автором: 18 Июля, 2013 - 12:41:17)

 
 Top
Exponat
Отправлено: 18 Июля, 2013 - 12:48:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Этот код большой. Я единственную запись упоминаю в этом файле:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $date_time = date("Y-m-d H:i:s");


CODE (htmlphp):
скопировать код в буфер обмена
  1. $status =  mysql_query('UPDATE `'.$action.'` SET `title`="'.mysql_real_escape_string($title).'" '.$text2.' WHERE `id`="'.(int)$_GET["id"].'" ') or die(mysql_error());


В коде я не говорю пхп обновить поле date_time. Оно само обновляется. Может это связано с тем что тип данных этого поля timestamp? И оно имеет свойство что запись будет сама обновляться при ее редактировании? Если это так, то как можно объяснить что запись эту не стоит обновлять?

(Отредактировано автором: 18 Июля, 2013 - 12:51:43)

 
 Top
Master_pascal
Отправлено: 18 Июля, 2013 - 12:58:51
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+][+][+][+][+]


тип datetime поставь
 
 Top
Exponat
Отправлено: 18 Июля, 2013 - 13:08:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Не могу. Мне нужен timestamp. Это связано с парсингом в RSS. А как вы знаете, парсинг даты с бд в rss очень проблемный. Вот я с timestamp хорошо настроил RSS.

Не знаю..я вот попробовал решение: в phpmyadmin в структуре таблици новостей редактирую поле date_time, в опции Атрибуты по умолчанию стоит on update CURRENT_TIMESTAMP. Поменял его на пустое значение.... Пока экспериментирую...

(Отредактировано автором: 18 Июля, 2013 - 13:09:16)

 
 Top
Master_pascal
Отправлено: 18 Июля, 2013 - 13:08:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+][+][+][+][+]


может вытащить прежнию дату и опять перезаписать?

(Отредактировано автором: 18 Июля, 2013 - 13:10:48)

 
 Top
Exponat
Отправлено: 18 Июля, 2013 - 13:10:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




имя поля text и тип данных text
(Добавление)
Master_pascal пишет:
может вытащить прежнию дату и опять перезаписать?


Да, это вариант. Но пока пользуюсь тем методом что описал выше. Правда не знаю правильно я делаю...

(Отредактировано автором: 18 Июля, 2013 - 13:11:15)

 
 Top
bazaev05
Отправлено: 03 Октября, 2014 - 11:36:57
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




просто добавь `date_time` = `date_time` и всё

PHP:
скопировать код в буфер обмена
  1. $status =  mysql_query('UPDATE `'.$action.'` SET `title`="'.mysql_real_escape_string($title).'" '.$text2.', `date_time` = `date_time` WHERE `id`="'.(int)$_GET["id"].'" ') or die(mysql_error());
 
 Top
Sail
Отправлено: 03 Октября, 2014 - 12:16:35
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Exponat, для общего развития: Типы данных DATETIME, DATE и TIMESTAMP
Подробно описано поведение этого самого TIMESTAMP'а Улыбка
 
 Top
MiksIr
Отправлено: 03 Октября, 2014 - 14:12:05
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


CODE (SQL):
скопировать код в буфер обмена
  1. ALTER TABLE news MODIFY date_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;


ЗЫ: поясню. Если вы посмотрите SHOW CREATE TABLE news, то увидите, что колонка date_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. После ALTER-а это ON UPDATE должно пропасть.... эх, MySQL такой MySQL...

(Отредактировано автором: 03 Октября, 2014 - 14:18:48)



-----
self-banned
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB