условие в запросе

DV

Guest
ай, сдаюсь...ничего у меня не получается с этими if'ами, значит так и помру дураком. :)
 

DV

Guest
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/index.php on line 203

Давайте полность процитирую строку запроса

mysql_query("select * from ".$table_name." where messdata = '".$sql_date."' and messdata <= now() if(relevant = '0000-00-00 00:00:00','','relevant >= now()') and razdel='7' order by messdata desc")
 

Фанат

oncle terrible
Команда форума
во-первых, это не строка запроса. это пхп код.
во-вторых, селенит тебе написал, как сделать.
даже жирным выделил.
а ты всё по старому свой детский лепет лепишь "дорогая база данных, догадайся, пожалуйста, что строка 'relevant >= now()' рзначает, на самом деле, то, что я хочу."
 

DV

Guest
ну, значит читать верхнюю строку этого листа. :)
 

Фанат

oncle terrible
Команда форума
ЧИТАТЬ НАДО тебе
сообщение номер http://phpclub.ru/talk/showthread.php?postid=449574#post449574
и делать так, как там написано.
а если ты не в состоятии перекопировать готовый код, то ты безнадёжен и перестань отнимать время у себя и у других.
 

DV

Guest
а что значит 'уже было' и 'еще будет' это просто текст или тут должно быть что-то?
 

Фанат

oncle terrible
Команда форума
SelenIT насколько я понимаю, ему это дело нужно во WHERE
то есть - нолики и единички и равно чему-то.
 

SelenIT

IT-лунатик :)
Дык ёлы-палы... это ж надо так усложнить элементарное условие - дата равна нулю ИЛИ больше текущей:

"select * from ".$table_name." where messdata = '".$sql_date."' and (relevant = '0000-00-00 00:00:00' OR relevant >= now() ) and razdel='7' order by messdata desc"

Если я теперь понял правильно, никакие IF-ы тут вообще не нужны...
 

DV

Guest
Ёшки-матрешки - заработало вроде ;))))

-~{}~ 27.03.05 20:59:

А обратный процесс - если asd = on проверять на relevant >= now()?

-~{}~ 29.03.05 23:11:

А почему в этом случае не работает if(asd = on, relevant >= now(), '')?
 

Фанат

oncle terrible
Команда форума
потому, что relevant >= now() не имеет ни малейшего смысла
 

DV

Guest
Я никак не уловлю, как же надо тогда делать условие в селекте? И так не так, и эдак не так...
 

Фанат

oncle terrible
Команда форума
как делать условие в селекте, тебе написал SelenIT
купи книжку по бд и читай про оператор WHERE
 

DV

Guest
Фанат
Это для одного варианта, а сейчас уже другой.
 

Фанат

oncle terrible
Команда форума
при чём здесь какие-то варианты?
Ты хоть сам-то помнишь, что пишешь?
ты спросил: "как делать условие в селекте?"
Я ответил: "Тебе написал Селенит. купи книжку по бд и читай про оператор WHERE"

при чём здесь какие-то варианты, если ты спросил, как делать условие?
Повторяю, если не дошло с первого раза.
Условия задаются в операторе WHERE
Как - читай в книжках или смотри, как показал Селенит и делай по АНАЛОГИИ. если тебе понятен смысл этого слова.

Если ты думаешь, что добрый Селенит будет писат тебе условаия для WHERE для всех твоих запросов, то мне кажется, что очень сильно ты заблуждаешься.
 

DV

Guest
Фанат
Да нет, просто я хочу разобраться, а отрывками кода без комментария я не могу проследить аналогию.
 
Сверху