Дата в PHP и MySQL
С помощью <textarea> записываю текст в БД. Сама БД содержит две строки:
- date (date)
- text (varchar(255))
Выполняю запрос:
Код:
<?php
//создание имен переменных
$text=$HTTP_POST_VARS['text'];
$date=date('Y-m-d');
$text = addslashes($text);
//подключение к БД
@ $db = mysql_pconnect ('localhost');
mysql_select_db ('text');
//вставляем текст в БД
$query = 'insert into text values ("'.$date.'", "'.$text.'")';
$result = mysql_query($query);
if ($result)
echo 'Текст добавлен.';
//Предварительный просмотр
$query = 'select * from text order by date desc';
$result = mysql_query($query);
for ($i=0; $i<1; $i++)
{
$row = mysql_fetch_array($result);
print $row['date'];
echo htmlspecialchars (stripslashes($row['text']));
}
?>
//создание имен переменных
$text=$HTTP_POST_VARS['text'];
$date=date('Y-m-d');
$text = addslashes($text);
//подключение к БД
@ $db = mysql_pconnect ('localhost');
mysql_select_db ('text');
//вставляем текст в БД
$query = 'insert into text values ("'.$date.'", "'.$text.'")';
$result = mysql_query($query);
if ($result)
echo 'Текст добавлен.';
//Предварительный просмотр
$query = 'select * from text order by date desc';
$result = mysql_query($query);
for ($i=0; $i<1; $i++)
{
$row = mysql_fetch_array($result);
print $row['date'];
echo htmlspecialchars (stripslashes($row['text']));
}
?>
Как сделать так, чтобы дата записи текста отображалась в формате ДД.ММ.ГГГГ? Если применяю конструкцию date (‘d.m.Y’, $row[‘date’]), то вместо положенной даты отображается 01.01.1970. Как же быть?
Заранее благодарен,
Михаил.
Используйте нечто вроде SELECT UNIX_TIMESTAMP(mydate) FROM ...
Ой, вернее говоря, при создании вместо вставки $date в SQL запрос используйте NOW() - SQL функцию.
Цитата:
Originally posted by Dolonet
Ой, вернее говоря, при создании вместо вставки $date в SQL запрос используйте NOW() - SQL функцию.
Ой, вернее говоря, при создании вместо вставки $date в SQL запрос используйте NOW() - SQL функцию.
Спасибо... Но не могли бы Вы поподробнее расписать прототип этой функции, а то я имею совсем небогатый опыт программирования?.. :(
Если я правильно понял, нужно писать так?
$query = 'insert into text values ("'.NOW($date).'", "'.$text.'")';
Заранее благодарен,
Михаил.
$query = 'insert into text values ( NOW(), "'.$text.'")';
Переменная $date Вам вообще не понадобится.
Не за что. Всегда приятно помочь хорошему человеку)
Спасибо еще раз, функция сделала код немного рациональнее, но не решила проблемы с форматом даты. Она записывает дату в формате ГГГГ-ММ-ДД, а как ее теперь переформатировать в ДД.ММ.ГГГ?
Цитата:
Originally posted by MiKar
Спасибо еще раз, функция сделала код немного рациональнее, но не решила проблемы с форматом даты. Она записывает дату в формате ГГГГ-ММ-ДД, а как ее теперь переформатировать в ДД.ММ.ГГГ?
Спасибо еще раз, функция сделала код немного рациональнее, но не решила проблемы с форматом даты. Она записывает дату в формате ГГГГ-ММ-ДД, а как ее теперь переформатировать в ДД.ММ.ГГГ?
Примерно так:
Код:
$outputdate = strftime ( "%d %B %Y", strtotime( $inputdate ));