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 :: вопрос про TIMESTAMP и выборку данных из базы

 PHP.SU

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


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

> Без описания
przrak
Отправлено: 13 Ноября, 2010 - 12:23:09
Post Id


Новичок


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


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




Добрый день, помогите пожалуйста разобраться, в общем у меня задача, у меня есть эксель документы, я их парсю в таблицу в базе данных MySQL при помощи PHP. В базе данных есть столбец, в котором отображается дата занесения строки. Я выбрал тип столбца TIMESTAMP (с параметром по умолчанию current_timestamp) при создании базы, все данные в таблицу заносятся на ура, в столбец date с типом TIMESTAMP заносится дата и время (например 2010-11-13 16:20:22). Все вроде бы замечательно. У меня есть задача вывести данные при помощи формы html, к примеру в форме я ввожу 13.11.2010, и чтобы у меня за эту дату вывелись все строки, но этого не происходит, понятно почему в принципе, потому что формат даты не такой как в базе, но блин...не выводит даже если бы я указал 2010-11-13, так как не указано время. Помогите решить проблему.
 
 Top
Варяг
Отправлено: 13 Ноября, 2010 - 13:26:52
Post Id



Новичок


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


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




przrak, приведите код как Вы делаете форму и как обрабатываете данные из нее.
 
 Top
Вездеход
Отправлено: 13 Ноября, 2010 - 13:55:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


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




przrak
у тебя идет проблема в форматах даты...

сделай в запросе такое условие:
SELECT * FROM tbl WHERE DATE(`nazvanie_polya`)='2010-11-13'

тут работает sql-функция date, она приводит твою дату (не важно в каком виде она была в базе) к виде ГГГГ-ММ-ДД и ты тогда сможешь нормально сравнивать...
(Добавление)
как дату вида 13.11.2010 привести к виду 2010-11-13 знаешь или сказать? Улыбка


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
przrak
Отправлено: 15 Ноября, 2010 - 05:18:07
Post Id


Новичок


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


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




Варяг извините, но Вездеход уже помог Улыбка
Вездеход Спасибо!! Теперь работает, сейчас буду разбираться, как привести дату вида 2010-11-13 к виду 13.11.2010.
(Добавление)
Вездеход
Все! Разобрался с датой. В форме дату пишу как 15.11.2010, затем записываю ее в переменную $date и отсылаю в форму mysql_select.php. В форме mysql_select.php мне нужно привести время к виду 2010-11-15. Для этого я разбираю нашу дату на массив из трех элементов при помощи explode, а затем вывожу его в переменной $date2 предварительно вставив "-" и все работает.
$date1 = explode(".",$date);
$date2 = $date1[2].'-'.$date1[1].'-'.$date1[0];
$result = mysql_query("SELECT * FROM price WHERE DATE(date)='$date2'", $db);

Спасибо, что помогли разобраться.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB