MySQL запрос с использованием нескольких критериев из флажков - PullRequest
0 голосов
/ 22 апреля 2010

Я хотел бы сделать несколько поисковых запросов, используя несколько флажков, которые представляют определенные текстовые поля.

Как мне создать запрос mysql, который будет фильтровать отмеченные и непроверенные флажки (возможно, с помощью операторов if)?
Запрос должен иметь возможность отфильтровывать отмеченные и снятые флажки и запрашивать их, используя условие AND.

Спасибо

1 Ответ

1 голос
/ 23 апреля 2010

Mysql не сможет обработать вашу HTML-форму. Вам нужно будет использовать язык на стороне сервера, чтобы проверить, установлены ли эти флажки, а затем изменить запрос с дополнительными условиями.

Вы, вероятно, получите лучший ответ, если будете более конкретны, но я приведу вам пример с php. Предполагая, что ваша форма выглядит примерно так:

<form method="post">
    <input type="checkbox" name="field1_cb" value="1" />
    <input type="text" name="field1_txt" />
    <br /><br />
    <input type="checkbox" name="field2_cb" value="1" />
    <input type="text" name="field2_txt" />
</form>

Ваш код сервера может выглядеть примерно так:

$query = "SELECT * FROM tbl WHERE field0 = 'asdf' ";
$fields = array('field1','field2');
foreach($fields as $f){
    if(isset($_POST[$f.'_cb'])){
        $query .= " AND $f = ".$_POST[$f.'_txt'];
    }
}
//Run your query... 

Пожалуйста, не копируйте и не вставляйте этот код напрямую, он отвратительно небезопасен. Просто пытаюсь начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...