Задать вопрос
@del993788

Sql поиск по нескольким полям, когда какое-то поле может быть пустым?

Здравствуйте. Пытаюсь сделать фильтрацию. Есть 3 значения "имя", "дата от", "дата до".
Если убрать всё лишнее, у меня вот такая картина:
$sql = 'SELECT * FROM main WHERE nameclient LIKE :who AND (datestart BETWEEN :datestart AND :dateend) ';
$pdo_statement->bindValue(':who',$name, PDO::PARAM_STR);
$pdo_statement->bindValue(':datestart',$dstart, PDO::PARAM_STR);
$pdo_statement->bindValue(':dateend',$dend, PDO::PARAM_STR);
$pdo_statement->execute();
$result = $pdo_statement->fetchAll();
?>

переменные who, dstart и dend я получаю из формы.
Проблема состоит в том, что какое-то из полей формы, будь это имя или диапазон дат, может быть не заполнено. Сейчас, в моём случае, если какое-то из полей не заполнить, то вернётся пустой результат.
Подскажите, как сделать, чтобы sql игнорировал пустые поля?
  • Вопрос задан
  • 1272 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 1
villiwalla
@villiwalla
HTML-верстка
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы