За последние 24 часа нас посетили 17320 программистов и 1202 робота. Сейчас ищут 1276 программистов ...

Трабла с выборкой в интервале даты

Тема в разделе "PHP и базы данных", создана пользователем Reindjer, 8 янв 2007.

  1. Reindjer

    Reindjer Активный пользователь

    С нами с:
    11 июл 2006
    Сообщения:
    26
    Симпатии:
    0
    в форме пишу начальную ($firstdate) и конечную дату ($lastdate), дальше делаю запрос на пхп на выборку всех данных из таблицы obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate"))

    left(obyav.data,10) потому что у меня при создании записи в это поле записывается now(). формат получается типа: "2007-01-01 00:00:00". То есть путем left выбираю только первые 10 символов и сравниваю ее с тем что я ввел в форме.

    Проблема:

    не получается запрос! то есть ошибки со стороны компилятора нет. просто ни одной записи не выводит, хотя если такой запрос применить:
    where ((left(obyav.data,10)>="2006.01.01") and (left(obyav.data,10)<="2007.01.01")) - то все идёт. переменные эти проверял сто раз, туда все хорошо записывается. в чем дело понять не могу... глююююююки...
     
  2. Vitas

    Vitas Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    Хы... У Вас сам SQL-запрос в PHP записан в апострофах (')? Если да, то их надо заменить на кавычки ("), так как в апострофах переменные не интерполируются (заменяются).
     
  3. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    ужас какой. не пробовали работать с unix timestamp?
    UNIX_TIMESTAMP
     
  4. Reindjer

    Reindjer Активный пользователь

    С нами с:
    11 июл 2006
    Сообщения:
    26
    Симпатии:
    0
    не знаю. я всегда так пишу и все запросы до этого работали. а записи типа $sql=mysql_query('select * from obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate"))');
     
  5. draak

    draak Guest

    PHP:
    1. <?php
    2.   $a = "Draak";
    3.   $output1 = 'Мой ник "$a"';
    4.   $output2 = 'Мой ник "'.$a.'"';
    5.   echo($output1);   // Мой ник "$a"
    6.   echo($output2);   // Мой ник "Draak"
    7. ?>
     
  6. Mavir

    Mavir Guest

    Сделайте
    print 'select * from obyav where ((left(obyav.data,10)>="$firstdate") and (left(obyav.data,10)<="$lastdate"))';