Проблема с поиском

dima333

Новичок
Проблема с поиском

Поиск осуществляется в базе данных по 5 параметрам (Пол, деятельность, сумма, Имя и год)
Поиск по всем параметрам я сделал, но как сделать так чтобы поиск все равно продолжился если пользователь введет только 1, 2, 3, 4 параметра и тот параметр который он не ввел уже не учитывался.
 

phprus

Moderator
Команда форума
dima333
Просто не надо вставлять соответствующее условие в запрос.
В чем конкретно проблема?
 

InVeX

Новичок
5 параметров - 5 запросов
запрос меняется в зависимости от того, какие параметры указаны, то есть нужно делать проверку
if(!isset($_POST['Param1']))
{
запрос
}
 

dima333

Новичок
InVeX я так и делаю! Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
И что означает значёк ! перед иссет?
 

zerkms

TDD infected
Команда форума
Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
И что означает значёк ! перед иссет?
:)))))))))))))))
 

dima333

Новичок
Балин что смеятся? Лучше бы помогли. Не все же такие умные как вы!
 

zerkms

TDD infected
Команда форума
А если для каждого случая писать условие то как то большой код получится.
прям уж... нужно писать - пиши, не нужно - не пиши.... но хватит ныть

И что означает значёк ! перед иссет?
почитай основы синтаксиса пхп
 

InVeX

Новичок
<?
if(!isset($brains))
{
echo "Восклицательный знак означает отрицание.";
exit();
}
?>
 

dima333

Новичок
На вопрос ответа так и нет!

Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
 

scandal

Новичок
dima333, может дашь сюда кусок кода?
Так легче будет разобраться
 

dima333

Новичок
Вот я ищу вот так:
if (empty($plata))
{
$conn = mysql_connect ("***","***","***");
mysql_select_db ("rabota", $conn);
$sql = "SELECT * FROM `rabotadat` WHERE data2 > NOW() - INTERVAL '10080' MINUTE AND `gorod` LIKE '$gorod' AND `deyat` LIKE '$deyat' AND `pol` LIKE '$pol' AND `zanyatost` LIKE '$zanyatost' ORDER BY `id` DESC";
$result = mysql_query($sql,$conn);
...
}

Но у меня при поиске учитывается 5 параметров! И в каждом условие большой код. Если например для каждого случай расматривать как условия то получится очень большой код.

if (empty($pol))
...
if (empty ($pol) && empty ($plata))
...
if (empty ($pol) && empty ($plata) && empty ($zanyatost))
...
и т.д

Как быть что посоветуете?
 

scandal

Новичок
может попробуете что-нибудь наподобие этого:
PHP:
$sql = "SELECT * FROM `rabotadat` WHERE data2 > NOW() - INTERVAL '10080' MINUTE";
if(!emptry($pol))  $sql.=" AND pol LIKE '$pol'";
if(!emptry($plata))  $sql.=" AND plata LIKE '$plata'";
if(!emptry($zanyatost))  $sql.=" AND zanyatost LIKE '$zanyatost'";
 

dima333

Новичок
А вот эт вот мысль! Спасибо большое scandal
Думаю сработает!!!
 
Сверху