Как правильно составить запрос SQL?

Добрый день.
Мне нужно правильно составить следующий запрос.
Есть <select> в котором несколько <option value>.
Значения такие:
- Не выбрано
- САО
- СВАО
- ЗАО
- СЗАО

Мне нужно вывести все записи, который равны, например СВАО. Делаю так:
$sql = "SELECT * FROM `brands` WHERE `district` = :district";

Это всё понятно и просто. Но как составить запрос, чтобы при значении "Не выбрано", показывались совершенно все записи из поля district ? (и Не выбрано и САО и ЗАО и т.д).

Спасибо.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@AndryG
SELECT * FROM `brands` WHERE `district` = :district or :district = 'Не выбрано';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Хоть и не очень элегантно, но благодаря удобству ПДО всё же и не очень громоздко,
$params = [];
$sql = "SELECT * FROM `brands` ";
if (!empty($_GET['district'])) {
    $sql .= "WHERE `district` = ?";
    $params[] = $_GET['district'];
}
$stmt = $pdo->prepare($sql);
$stmt->execute($params);


Таким же образом можно добавлять и другие условия.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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