Запрос с 5-ю параметрами.Как получить строку из таблицы при хотя бы одном параметре.

Mnemonick

Новичок
Запрос с 5-ю параметрами.Как получить строку из таблицы при хотя бы одном параметре.

Привет, помогите с mysql, шо то я геть тупой стал :confused:
Весь день бьюсь, ни как не могу сделать.
Есть форма с радио кнопками-5 наборов.
Каждый набор кнопок--это набор параметров поля в таблице mysql.
Кнопки передают в скрипт значения, например, набор 1 передает значения в поле "цвет" (1-желтая, 2-красная, 3-синяя, 4-не важно ).
Как получить строчку из таблицы, если определен параметр только в одном наборе,
определены параметры в 2-х наборах и т.д.
Пробовал where color='$r1'(где принимаються значения $r1=1 or 2 or 3 or "не важно") and tip='$r2'(где возможные значения $r2=1 or 2 or 3 or "не важно") and category='$r3'($r=1 or 2 or 3 or ""не важно ) и т.д.
С AND не получаеться- должны быть определены значения, если стоит "не важно" запрос не выполняется.С OR не то, выводит все подряд.
 

440hz

php.ru
Mnemonick
вместо "не важно" подставляй 1=1 если не хочешь на лету SQL запрос строить.

SELECT * FROM table WHERE color = 1 AND 1=1
 

Mnemonick

Новичок
Я так делал, не помогает.
Я правда брал 1<>1 , но смысл тот же.

Это работает если 1=1 а как я это передам, получаеться только '1=1' . Кавычки все наламывают.

-~{}~ 28.03.06 12:19:

Все, вопрос решен :)

-~{}~ 28.03.06 23:51:

Если у кого то есть подобная проблема, могу показать код с решением :)
 

Фанат

oncle terrible
Команда форума
в общем-то, составить строку из несколькуих условий - задачка, прямо скажем, не из самых сложных.
но если хочешь - можешь привести здесь, код - ты скажем, как его можно улучшить.
 

Mnemonick

Новичок
Вот кусок который выбирает будет ли в запросе этот параметр

if($r1!='null'){
$s1="and efect='$r1'";
}
//$r1 передаетт значения радио кнопок, отвещающих за поле эфект
-------------------------------------
вот сам запрос

select * from table1 where 1=1 $s1 $s2 $s3 $s4 $s5
 
Сверху