Подскажите пожалуйста как организовать систему поиска пользователей по критериям!
К примеру есть поля "Имя" и "Фамилия", и при помощи какой mysql функции организовать выборку из БД? Просто если написать WHERE name = $name то работает а если по двум критериям (имя = имени, фамилия = фамилиии) то если заполнено одно поле(только одна переменная определена) то выбивает ошибку что вторая переменная не определена!
Заранне все СПАСИБО!!!
Спустя 7 минут, 8 секунд (24.07.2010 - 12:02) Basili4 написал(а):
WHERE name = $name and hasdd=$ddsfsdf and sadsdasd=$sdfcasdf ... и тд.
Спустя 2 минуты, 1 секунда (24.07.2010 - 12:04) PiratXXX написал(а):
Цитата |
WHERE name = $name and hasdd=$ddsfsdf and sadsdasd=$sdfcasdf ... и тд. |
Ну так я так уже пробовал и вот что:
Цитата |
если по двум критериям (имя = имени, фамилия = фамилиии) то если заполнено одно поле(только одна переменная определена) то выбивает ошибку что вторая переменная не определена! |
Спустя 8 минут, 51 секунда (24.07.2010 - 12:13) Basili4 написал(а):
а тогда так
это на коленке может где что и забыл
$w[]=(empty($name))?'':"name=$name";
$w[]=(empty($ds))?'':"dc=$ds";
........
$where=implode(' and ',$w);
if (!empty($where)) $Sql.="where $where";
это на коленке может где что и забыл
Спустя 1 час, 24 минуты, 39 секунд (24.07.2010 - 13:38) Michael написал(а):
Чуточку поправлю:
$name = 'ваня';
$ds = 'иванов';
$w = array();
if (!empty($name)) $w[] = "name='$name'";
if (!empty($ds)) $w[] = "ds='$ds'";
$where=implode(' and ',$w);
$Sql = 'select * from users';
if (!empty($where)) $Sql.=" where $where";
echo $Sql;
_____________
http://flibro.com/