Я хотел бы сделать поиск для расширенного поиска. Функция поиска есть и / или для каждой категории. Пользователь может выбрать любую комбинацию и n или. Здесь я даю скриншот
Я храню и / или в переменных call $ pil, $ pil1, $ pil2 и $ pil3. И поставит их в запросе. это лучше, чем проверять одно за другим каждое условие и / или
Так что это мой запрос с использованием postgresql в PHP
$query = pg_query("SELECT evaluationdate,onlinename,channel,topik,reviewername,sourceevaluation,evaluation
from AgentPerformance
where onlinename like '%".$VEOn1."%'
".$pil." reviewername like '%".$VERev1."%'
".$pil1." channel like '%".$VEChan1."%'
".$pil2."sourceevaluation like '%".$VESource1."%'
".$pil3."evaluationdate between '".$VEStart1."' and '".$VEEnd1."'");
РЕДАКТИРОВАТЬ :
Проблема сейчас, все переменные не должны быть пустыми, иначе запрос будет ошибкой. любой способ обмануть это?
Вы пропустили несколько мест рядом sourceevaluation а также evaluationdate
Попробуйте с этим запросом:
$query = pg_query("SELECT evaluationdate,onlinename,channel,topik,reviewername,sourceevaluation,evaluation
from AgentPerformance
where onlinename like '%".$VEOn1."%'
".$pil." reviewername like '%".$VERev1."%'
".$pil1." channel like '%".$VEChan1."%'
".$pil2." sourceevaluation like '%".$VESource1."%'
".$pil3." evaluationdate between '".$VEStart1."' and '".$VEEnd1."'");
Просто. Используйте проверку для каждого $ pil независимо от того, пуст он или нет. это заставляет меня проверять 4 раза, но это решает проблему. Синтаксическая ошибка была также решена