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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Формат DATA
 
 автор: Classic   (27.09.2006 в 12:06)   письмо автору
 
 

Здравствуйте!
Я храню дату публикации новости в формате DATA это 2006[год]-09[месяц]-27[день]
Какможно это обработать? т. е. я хочу сделать чтобы вид был 27.09.2006... пробовал функцию date, не помогло...
Конечно можно разбить, но я думаю что это можно рещить более лёгким путём.

   
 
 автор: Trianon   (27.09.2006 в 12:38)   письмо автору
 
   для: Classic   (27.09.2006 в 12:06)
 

SELECT DATE_FORMAT(field,'%d.%m.%Y') as formatted_date

   
 
 автор: Classic   (27.09.2006 в 19:10)   письмо автору
 
   для: Trianon   (27.09.2006 в 12:38)
 

Я что-то не понял что здесь к чему...

   
 
 автор: Trianon   (27.09.2006 в 19:30)   письмо автору
 
   для: Classic   (27.09.2006 в 19:10)
 

Предложенный путь - вытаскивать из MySQL значение в том формате, в котором оно Вам требуется, а не преобразовывать после. Используется функция MySQL DATE_FORMAT(величина, строка формата)
http://www.mysql.ru/docs/man/Date_and_time_functions.html

   
 
 автор: Classic   (28.09.2006 в 20:12)   письмо автору
 
   для: Trianon   (27.09.2006 в 19:30)
 

Спасибо. Всё прочитал.
Что-то не получается(
SQL-запрос примерно такой

    $query = "SELECT * FROM news
              WHERE putdate <= NOW()
              ORDER BY putdate DESC";

Пробовал по-разному

    $query = "SELECT * FROM news
              WHERE putdate <= NOW()
              ORDER BY putdate DESC;
              SELECT DATE_FORMAT(putdate , '%d.%m.%Y');";

   
 
 автор: victoor   (28.09.2006 в 20:56)   письмо автору
 
   для: Classic   (28.09.2006 в 20:12)
 

если в php скрипте надо отображать - заносите в переменную $detes дату, как вы ее получили из БД, далее
<? 
echo(date('d.m.Y'strtotime($dates));
?>

Естественно, можно не просто выводить, а и что-нибудь другое творить, главное, механизм, надеюсь, понятен.

   
 
 автор: Trianon   (28.09.2006 в 21:33)   письмо автору
 
   для: Classic   (28.09.2006 в 20:12)
 

$query = "SELECT DATE_FORMAT(putdate , '%d.%m.%Y') as fmt_date, * FROM news
WHERE putdate <= NOW()
ORDER BY putdate DESC";

Результат будет возвращен в столбике fmt_date

   
 
 автор: Classic   (29.09.2006 в 14:00)   письмо автору
 
   для: Trianon   (28.09.2006 в 21:33)
 

Не получается... не может выполнить SQL-запрос

   
 
 автор: Trianon   (29.09.2006 в 15:38)   письмо автору
 
   для: Classic   (29.09.2006 в 14:00)
 

А если так?

$query = "SELECT DATE_FORMAT(putdate , '%d.%m.%Y') as fmt_date, news .* 
       FROM news 
       WHERE putdate <= NOW() 
       ORDER BY putdate DESC";

   
 
 автор: Classic   (01.10.2006 в 09:16)   письмо автору
 
   для: Trianon   (29.09.2006 в 15:38)
 

Работает. Спасибо.

   
Rambler's Top100
вверх

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