Форум сетевых администраторов
Показаны 3 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Организация многокритериального поиска (http://netadmin.ws/forum/showthread.php?threadid=9401)


Помещено he][es 23-08-2004 в 22:19:

Организация многокритериального поиска

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

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'"; }


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

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


Помещено polo 23-08-2004 в 22:29:

нужно проверять !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, если ты хочешь чтобы соответвовало хотябы одному значению.

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


Помещено he][es 24-08-2004 в 11:53:

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

PHP:


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


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

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


Формат времени GMT. Текущее время 09:54.
Показаны 3 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.