Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 19:08   #11
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

VadikV,если выбрать категорию и страну без города,то выводит пользователей только по стране,не учитывая категорию.
Andruhin вне форума Ответить с цитированием
Старый 14.02.2011, 19:14   #12
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Cronos20,твой вариант тоже не рабочий
Andruhin вне форума Ответить с цитированием
Старый 14.02.2011, 20:09   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Andruhin Посмотреть сообщение
Я попробывал вот так вот переписать,оцените,может ошибаюсь
Ну, написанный код - вероятно рабочий, вам виднее(если решает ваши задачи).

Хочу только обратить внимание на использование вами функции isset().
Тут есть ньюанс - эта функция определяет,установлена ли указанная переменная(-ные).
НО при этом переменная может иметь значение 0, ""(пустая строка), FALSE...

Поэтому в случае с вашим кодом - возможны ситуации, когда один из ваших критериев Поиска будет отсутствовать.

Например, если $_POST['country'] = 0; - то isset() её всё равно пропустит, но empty() не сработает - значит критерия поиска по стране у вас не будет - а запрос всё равно выполнится,и вернёт необъективный результат(без учёта страны).

Поэтому если вам нужен точный поиск по всем 3-м параметрам - тогда выполняйте запрос только при наличии всех 3-х параметров,проверенных empty()(см. мой предыдущий пост).
Andkorol вне форума Ответить с цитированием
Старый 14.02.2011, 20:16   #14
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Вы про эту строку
Код:
if (isset($_POST['country'], $_POST['city'], $_POST['product']))
?
Andruhin вне форума Ответить с цитированием
Старый 14.02.2011, 20:25   #15
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Andruhin Посмотреть сообщение
Вы про эту строку
Код:
if (isset($_POST['country'], $_POST['city'], $_POST['product']))
?
Я про то,что в вашем коде, получив 3 переменные - нет гарантий,что все три подойдут для ваших условий Поиска.
А запрос у вас будет выполняться в любом случае - хоть будет 3 условия,хоть ни одного(WHERE 1).
Соответственно и результаты вы получите - или по 3-м параметрам,или тупо всё что есть в таблице.
Andkorol вне форума Ответить с цитированием
Старый 14.02.2011, 20:39   #16
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

тему можно закрывать!
Andruhin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка в сортировке? vaan.sk Общие вопросы C/C++ 1 16.03.2010 23:33
О сортировке массивов в C++ Frame1992 Помощь студентам 6 28.10.2009 16:50
Вопрос по сортировке Ermiss БД в Delphi 5 17.02.2008 17:32
Ошибка в сортировке Veiron Общие вопросы Delphi 14 21.01.2008 21:35