Расширенный поиск с помощью флажка в PHP

0

Я не могу выполнить поиск, используя эти флажки. Когда я запускаю код (проверка), ничего не происходит. Я должен проверить его, чтобы сделать предварительный поиск, и он будет выбирать данные из базы данных.

Мой HTML-код:

 <td><input type="checkbox" name="fac1" value="checked"/>AIRCOND</td>
 <td><input type="checkbox" name="fac2" value="checked"/>FAN</td>

Мой PHP-код:

$fac1=isset($_POST["fac1"]);
$fac2=isset($_POST["fac2"]);

$qry = "SELECT * FROM homestay WHERE ";
 if(isset($_POST['fac1']) && $_POST['fac1'] == 'checked')
 {
        $fac1 = true;
 }
 if(isset($_POST['fac2']) && $_POST['fac2'] == 'checked')
 {
        $fac2 = true;
 }
Теги:

2 ответа

0

Выполнение этого, как предложил Ронак, приведет к слишком длинному коду для нескольких вариантов поиска. Не считая того, что вы должны сохранить каждую опцию при следующей загрузке страницы с одной проверенной опцией. Вы можете упростить это с помощью ajax, чтобы он отображал результаты в вашем div, например.

сначала сделайте форму:

<form id="searchOptions">
 <td><input type="checkbox" name="fac1" value="checked"/>AIRCOND</td>
   <td><input type="checkbox" name="fac2" value="checked"/>FAN</td>
</form>

Затем поместите скрипт в заголовок:

<script>
function submitSearchForm() {
    $.ajax({type:'POST', url: 'search.php', data:$('#searchOptions').serialize();?>, success: function(response) {
            $('#resultDisplay').innerHTML = response;
            }});
    return false;
}
</script>

Обратите внимание:

Вам также понадобится jquery.min в заголовке

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  • 0
    спасибо Caddaile за помощь. это уже сделано. я понял :)
0
$string = isset($_POST['fac1']) ? $_POST['fac1'] : (isset($_POST['fac2']) ? $_POST['fac2'] : '');

ИЛИ

if(isset($_POST['fac1']) && $_POST['fac1'] == 'checked')
{
    $string = $fac1;
}
if(isset($_POST['fac1']) && $_POST['fac2'] == 'checked')
{
    $string = $fac2;
}

Передайте строковую переменную в query:

$qry = "SELECT * FROM homestay WHERE $string = 'true'";
  • 0
    Я пробовал. Никаких ошибок. но когда щелкните флажок, он скажет, что нет в базе данных. в этой форме я также использую для поиска по текстовому полю и выпадающий список. для обоих вариантов он может использовать. но для флажка вроде не могу найти.
  • 0
    спасибо Ронак Патель за помощь. это уже сделано. я понял :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню