Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: сортировка по дате в формате "25-11-2011 в 07:22"

Сообщения:  [1-10]   [11-20] 

 
 автор: Sfinks   (07.02.2012 в 14:29)   письмо автору
 
   для: cheops   (03.02.2012 в 19:37)
 

> это поле автоматически обновляется при выполнении оператора UPDATE
Только если установлено свойство on update CURRENT_TIMESTAMP

> обновится только одно (может сейчас поправили)
не поправили. on update CURRENT_TIMESTAMP может быть по прежнему только у одного поля. Так же как значение по умолчанию CURRENT_TIMESTAMP.

  Ответить  
 
 автор: Sfinks   (07.02.2012 в 14:24)   письмо автору
 
   для: Василий   (03.02.2012 в 23:30)
 

<?
if($error=="no"){  
    
$result2 mysql_query("INSERT INTO comment_ege (post,author,text,date)   
VALUES ('" 
mysql_real_escape_string($id) . "','"  
 
mysql_real_escape_string($author) . "','" mysql_real_escape_string($text) . "', NOW() )");  
    
//****
так по-моему еще проще. Хотя я все время с TIMESTAMP работаю, не знаю как там себя DATETIME ведет.

  Ответить  
 
 автор: nmahkamov   (04.02.2012 в 11:17)   письмо автору
 
   для: Василий   (03.02.2012 в 23:30)
 

Это же очень просто. Вместо $date = date("d-m-Y в H:i"); пропишите $date = date("Y-m-d H:i:s");
Вот подробный код:

//Если нет ошибок добавляем в базу    
if($error=="no"){  
    $date = date("Y-m-d H:i:s");  
    $result2 = mysql_query("INSERT INTO comment_ege (post,author,text,date)   
VALUES ('" . mysql_real_escape_string($id) . "','"  
 . mysql_real_escape_string($author) . "','" . mysql_real_escape_string($text) . "','$date')");  
    //****

  Ответить  
 
 автор: Василий   (03.02.2012 в 23:30)   письмо автору
 
   для: Василий   (03.02.2012 в 23:29)
 

как прописать этот по новому?
//Если нет ошибок добавляем в базу   
if($error=="no"){ 
    $date = date("d-m-Y в H:i"); 
    $result2 = mysql_query("INSERT INTO comment_ege (post,author,text,date)  
VALUES ('" . mysql_real_escape_string($id) . "','" 
 . mysql_real_escape_string($author) . "','" . mysql_real_escape_string($text) . "','$date')"); 
    //****

  Ответить  
 
 автор: Василий   (03.02.2012 в 23:29)   письмо автору
 
   для: cheops   (03.02.2012 в 19:04)
 

создал поле date1 (формат datetime)
старое поле - date 04-10-2011 в 19:27
новое поле имеет следующее значение date1 2011-10-04 19:27:00

  Ответить  
 
 автор: ladan   (03.02.2012 в 21:29)   письмо автору
 
   для: cheops   (03.02.2012 в 19:37)
 

спасибо, остановлюсь на DATETIME :)

  Ответить  
 
 автор: cheops   (03.02.2012 в 19:37)   письмо автору
 
   для: ladan   (03.02.2012 в 19:33)
 

У TIMESTAMP есть особенность, это поле автоматически обновляется при выполнении оператора UPDATE, причем обновляется по дебильному, если у вас два таких поля - обновится только одно (может сейчас поправили). Поэтому если хотите просто хранить дату без затей, то храните её в DATETIME. Если хотите скорости, то храните дату в INT, используя для формирования текущей даты функцию time(). Такое поле в дальнейшем можно будет без труда проиндексировать, да и места оно меньше занимает по сравнению с DATETIME (правда вы не сможете напрямую задействовать возможности MySQL в области времени). Какой бы вариант вы не выбрали, любой из них будет лучше голых строк (и в конечном счете удобнее).

  Ответить  
 
 автор: ladan   (03.02.2012 в 19:33)   письмо автору
 
   для: cheops   (03.02.2012 в 19:17)
 

а что лучше TIMESTAMP или DATETIME(и прописывая при вставке в таблицу NOW())?

  Ответить  
 
 автор: cheops   (03.02.2012 в 19:17)   письмо автору
 
   для: ladan   (03.02.2012 в 19:13)
 

Когда у вас даты будут в рамках одного месяца (пусть и с разными годами) да, когда у вас данные из разных месяцев и лет накопятся - будет весело :))) Лучше не экспериментируйте, эта мина взрывается неизбежно. Не говоря про то, что у вас лишние данные хранятся, который пусть чуть-чуть но утяжеляют/замедляют таблицу.

  Ответить  
 
 автор: ladan   (03.02.2012 в 19:13)   письмо автору
 
   для: cheops   (03.02.2012 в 19:02)
 

у меня ошибок не было, менял дату на 2013 год и все нормально пашет :)

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования