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

  • Автор темы Автор темы dima333
  • Дата начала Дата начала

dima333

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

Поиск осуществляется в базе данных по 5 параметрам (Пол, деятельность, сумма, Имя и год)
Поиск по всем параметрам я сделал, но как сделать так чтобы поиск все равно продолжился если пользователь введет только 1, 2, 3, 4 параметра и тот параметр который он не ввел уже не учитывался.
 
dima333
Просто не надо вставлять соответствующее условие в запрос.
В чем конкретно проблема?
 
5 параметров - 5 запросов
запрос меняется в зависимости от того, какие параметры указаны, то есть нужно делать проверку
if(!isset($_POST['Param1']))
{
запрос
}
 
InVeX я так и делаю! Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
И что означает значёк ! перед иссет?
 
Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
И что означает значёк ! перед иссет?
:-)))))))))))))))
 
Балин что смеятся? Лучше бы помогли. Не все же такие умные как вы!
 
А если для каждого случая писать условие то как то большой код получится.
прям уж... нужно писать - пиши, не нужно - не пиши.... но хватит ныть

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

Но когда не вводится один параметр он ищет без проблем, а когда не вводишь два или более параметров он уже не ищет! А если для каждого случая писать условие то как то большой код получится.
 
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))
...
и т.д

Как быть что посоветуете?
 
может попробуете что-нибудь наподобие этого:
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'";
 
Сверху