Запрос по одному параметру и совокупности параметров

  • Автор темы Автор темы pirita
  • Дата начала Дата начала

pirita

Новичок
Запрос по одному параметру и совокупности параметров

Подскажите пожалуйста.. в мозгах заклинило...))
Как написать запрос чтобы выборка велась как по каждой переменной так и по совокупности..

переменные передаются из HTML-формы...

например: передаются 2 переменные.. fam и otdel
select * from tbl where fam='$fam' or otdel='$otdel'
- так выводятся все фамилии отдела... а если хочется вывести конкретного человека, то надо ставить and, соответственно если если потом захочется вывести только отдел, то ничего не выйдет т.к. переменная fam будет пуста....
не доганяю! Знаю, что просто, но переклинило совсем!
ПОМОГИТЕ!!!
 
если надо вывести отдел, то запрос будет
select * from tbl where otdel='$otdel'
если надо вывести фамилию, то
select * from tbl where fam='$fam'
 
Автор оригинала: Фанат
если надо вывести отдел, то запрос будет
select * from tbl where otdel='$otdel'
если надо вывести фамилию, то
select * from tbl where fam='$fam'
а если я захочу вывести фамилию в конкретном отделе, то select * from tbl where fam='$fam' and otdel='$otdel'
а если я захочу еще добавишь штук 10 параметров, что для них всех отдельные запросы писать??
 
Re: Запрос по одному параметру и совокупности параметров

переменные передаются из HTML-формы...
Анализируешь данные, пришедшие из формы
на основании этого составляешь $zapros
"select * from tbl".$zapros

Но по сути это частный случай того, что сказал Фанат
 
pirita
Что такое пхп скрипт?
Это программа, которая формирует текстовую строку. правильно?
Так почему же, когда эта строка содержит HTML - это тебя не смущает, а когда SQL - приводит в изумление?
 
отлично.
когда человек понял - не грех ему и гтовый код показать
PHP:
$w=array();
if (!empty($_GET['rooms'])) $w[]="rooms='".mysql_real_escape_string($_GET['rooms'])."'";
if (!empty($_GET['space'])) $w[]="space='".mysql_real_escape_string($_GET['space'])."'";
if (!empty($_GET['max_price'])) $w[]="price < '".mysql_real_escape_string($_GET['max_price'])."'";


if (count($w)) $where="WHERE ".implode(' AND ',$w); else $where='';
$query="select * from table $where";

-~{}~ 22.11.06 13:23:

Только упаси тебя Кришна написать в форме что-то вроде
<input type="radio" name="oper" value="AND">
а в скрипте - вставлять в запрос $_GET['oper']
 
Сверху