Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Организация многокритериального поиска
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
Организация многокритериального поиска [сообщение #70112]

Вообщем задача такая: есть "анкетка" человека (см. тут) как сделать так, что бы поиск работал в зависимости от заполненных полей? Т.е. я чёто туплю и не могу придумать как собственно составить запрос...

PHP:


$query_str 
= "SELECT f, d, ... FROM table WHERE "
if(isset($a)) { $query_str .= " a='$a'"; }
if(isset(
$b)) { $query_str .= " AND b='$b'"; }
if(isset(
$c)) { $query_str .= " AND c='$c'"; }


Или как то элегантнее?

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-08-2004 22:19
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #70114]

нужно проверять !empty.

polo добавил 23-08-2004 в 22:53:57:
а запрос вставляеться просто:

if (!empty($a))
{
$query_str = "AND a='$a'";
}
if (!empty($b))
{
$query_str = " AND b='$b";
}
WHERE 1=1 $query_str
Хотя я думая в твоем случае нужно использовать OR, если ты хочешь чтобы соответвовало хотябы одному значению.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-08-2004 22:29
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #70139]

polo А если у меня в SELECTE selected по умолчанию пункт стоит? Т.е. стоит "не важно" с value=0 тогда сделать так:

PHP:


if (!empty($a) && $a != 0) {
$query_str = "AND a='$a'";
}


? (Мне как раз выполнение ВСЕХ пунктов надо т.е. AND)

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 24-08-2004 11:53
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 09:45.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.13600707 seconds (93.74% PHP - 6.26% MySQL) with 23 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.