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

Форум MySQL

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

 

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

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

тема: новости за определенный день (странность)
 
 автор: ronin   (01.06.2009 в 11:57)   письмо автору
 
 

Здравствуйте! У меня такая проблема - хотел бы вывести данные за определенный день

<?php 
$today 
date(Y-m-d); 
$sql "SELECT * FROM таблица WHERE поле = $today"
?> 

но такой скрипт не работает, т.е не выдает ошибки, но и не выдает результат, в то время как такой запрос:

<?php 
$today 
date(Y-m-d); 
$b=$today ++;
 
$c=$today --;
$sql "SELECT * FROM таблица WHERE поле BETWEEN '$b' AND '$c'"
?> 

выдает то, что нужно. Сомнения меня гложат....

  Ответить  
 
 автор: Valick   (01.06.2009 в 12:09)   письмо автору
 
   для: ronin   (01.06.2009 в 11:57)
 

возможно дело в апострофах
какой формат у вас поля `поле`?

  Ответить  
 
 автор: ronin   (01.06.2009 в 12:20)   письмо автору
 
   для: Valick   (01.06.2009 в 12:09)
 

поле = '$today'
datetime - исправил на date, все тоже.

  Ответить  
 
 автор: Trianon   (01.06.2009 в 12:54)   письмо автору
 
   для: ronin   (01.06.2009 в 11:57)
 

Очевидно, нужно сделать echo $sql; чтобы увидеть что не так.
Ошибка будет проявляться в последних днях месяца.

  Ответить  
 
 автор: ronin   (01.06.2009 в 13:47)   письмо автору
 
   для: Trianon   (01.06.2009 в 12:54)
 

мистика, все работает, почему в начале не работало не понятно. Это у нас компьютеры зависают, а заходит админ - все работают:)

  Ответить  
 
 автор: Trianon   (01.06.2009 в 14:00)   письмо автору
 
   для: ronin   (01.06.2009 в 13:47)
 

Еще раз. Сделайте echo $sql;
То что у Вас получилось - лажа. Независимо от того, что работает. Лажа тоже может работать.

  Ответить  
 
 автор: ronin   (01.06.2009 в 15:01)   письмо автору
 
   для: Trianon   (01.06.2009 в 14:00)
 

я имею в виду, что это начало работать:

<?php  
$today 
date(Y-m-d);  
$sql "SELECT * FROM таблица WHERE поле = '$today'";  
?> 

  Ответить  
 
 автор: Trianon   (01.06.2009 в 15:51)   письмо автору
 
   для: ronin   (01.06.2009 в 15:01)
 

да. Если
>datetime - исправил на date, все тоже.
Только вот этим Вы убрали из таблицы информацию о времени записи.
Если так и надо - ради бога.

  Ответить  
 
 автор: ronin   (01.06.2009 в 19:47)   письмо автору
 
   для: Trianon   (01.06.2009 в 15:51)
 

Вы извините, я никакой программист, т.е это как-то связано с datetime? в принципе мне на данном этапе важна дата, то что я использовал не тот тип поля, связано со спешкой, уж извините, но ради любви к исскуству программирование, не могли бы Вы развить тему. Мне это очень интересно. И Вы являетесь таким знатоком, что любое Ваше сообщение представляет ценность.

  Ответить  
 
 автор: Trianon   (01.06.2009 в 20:01)   письмо автору
 
   для: ronin   (01.06.2009 в 19:47)
 

А в таблице что лежит?

  Ответить  
 
 автор: ronin   (02.06.2009 в 11:17)   письмо автору
 
   для: Trianon   (01.06.2009 в 20:01)
 

только теперь понял - когда поле datetime то должно совпадать все до секунды? а я сверял только даты:)

  Ответить  
 
 автор: Valick   (02.06.2009 в 11:23)   письмо автору
 
   для: ronin   (02.06.2009 в 11:17)
 

да но Вы до сих пор не понимаете чего хотел от Вас добиться, Trianon

  Ответить  
 
 автор: ronin   (02.06.2009 в 14:14)   письмо автору
 
   для: Valick   (02.06.2009 в 11:23)
 

Вы про дату? 2009-04-22. Если я правильно понял если сверяются даты все ок. Но если datetime, то записаны не только дата, но и час, минуты и секунды, в данном случае мне нужно было date. Просто на будущее мне хотелось бы узнать про выборке по дате по полю datetime.

  Ответить  
 
 автор: Valick   (02.06.2009 в 14:41)   письмо автору
 
   для: ronin   (02.06.2009 в 14:14)
 

:)
<?php  
$sql 
"SELECT * FROM таблица WHERE DATE(поле) = DATE(NOW())";  
?> 

попробуйте так с полем DATETIME

  Ответить  
 
 автор: ronin   (02.06.2009 в 17:20)   письмо автору
 
   для: Valick   (02.06.2009 в 14:41)
 

Спасибо! Супер!

  Ответить  
 
 автор: Valick   (03.06.2009 в 12:19)   письмо автору
 
   для: ronin   (02.06.2009 в 17:20)
 

А так наверное ещё лучше
<?php  
$sql 
"SELECT * FROM таблица WHERE DATE(поле) = CURDATE()";  
?> 

  Ответить  
Rambler's Top100
вверх

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