Как составить запрос к БД, из множества селекторов и полей?

Есть множество селекторов, как на https://realty.yandex.ru/. Пытаюсь реализовать нечто подобное, делаю так:
1. Есть поле тут значения.
2. Есть ajax в который посылается значение с select'а.
3. На выводе файл php примерного содержания:
<?
mysql_query('SELECT * FROM table WHERE id = $_GET['значение select'а']');
?>
И тд. Но понял, что делаю не так, так как с большим количеством полей получается трехэтажный код что в JS, что в PHP. Куча условий if() и switch(). Хотел бы узнать, можно ли это реализовать как-то попроще? Что бы SQL запрос генерировался в зависимости от выбранных select.
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
petyagrill
@petyagrill
А вы попробуйте атрибутами плясать как тут

В таком случае остается добавлять select-ы, код js менять не придется, ну и грамотную обработку php нужно сделать
<select class="ajax-select" data-table="table1" data-result="#select2" id="select1">
<option value="op0">op0</option>
<option value="op1">op1</option>
<option value="op2">op2</option>
</select>
<select class="ajax-select" data-table="table2" data-result="#select3" id="select2">
<option value="">выберите вариант из select1 </option> 
</select>


$('.ajax-select').on('change', function(){ 
    var val = $(this).val();
    var table = $(this).data('table');
    var result = $(this).data('result');
    $.ajax({
        type: 'POST',
        url: 'http://site.ru/',
        data: ({table : table, val : val}),
        success: function(data){
            $(result).html(data);
            $(result).removeAttr('disabled');
        },
        error: function(){
            alert('error');
        }
    });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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