saen
Постоялец
- Регистрация
- 6 Авг 2006
- Сообщения
- 756
- Реакции
- 129
если поле "страна" не пустое добавляем проверку из переменной, иначе пропускаем, далее тоже самое делаем с нужными полями...PHP:$fnd = ($fcountry != '' ? ' and country = "'.addslashes($fcountry).'"' : ''). ($fcity != '' ? ' and city = "'.addslashes($fcity).'"' : ''). ($ffound != '' ? ' and found = "'.addslashes($ffound).'"' : ''). ($ffor != '' ? ' and forwhat = "'.addslashes($ffor).'"' : ''); $zapros = "SELECT * FROM users WHERE 1 ".$fnd;
и формируем один запрос.... выбираем все из юзеров где истина и нужный нам набор вариантов...
1) К твоему сведению это не поиск а выборка. не знаю насколько хорошо ты знаешь программирование и базы данных, но в MySQL поиск совпадений осуществляется через "WHERE LIKE %%"
2) Для чего тебе addslashes, если переменная у тебя экранируется одиночными кавычками? Я еще могу понять если б было к примеру
PHP:
'".addslashes($ffound)."'
Вместо
PHP:
"'.addslashes($ffound).'"
3) Реализация выборки не динамическая, то есть если нужно добавлять дополнительные фильтры для поиска, нужно вручную править еще и php-код.
4) Выборка не универсальна, т.к. пользователь и к примеру укажет город, возраст и пол, а в БД имеется запись с тем же городом и возрастом, но с другим полом.
Отсюда вывод: ТС сам не знает чего он хочет, тему можно закрывать