Сортировка и вывод товаров из mysql

152
25 сентября 2018, 20:50

Есть простой код :

     <select>
     <option>марка авто</option>
     </select>
     <select>
     <option>модель авто</option>
      </select>
     <button>подобрать запчасть</button>

Нужно реализовать фильтр по 2ум категориям "Марка авто" и "Модель авто" , при клике по опции "Марка авто" должен раскрывался соответственно список марок авто(Toyota,Honda,Mazda и т.п), далее при выборе марки подгружались уже модели для конкретной выбранной марки, после выбора опций фильтра пользователь нажимает кнопку "подобрать запчасть" и его должно перебросить на страницу с подобранными товарами.Надеюсь все понятно объяснил, заранее огромное спасибо за помощь.

Answer 1

При событии select отсылайте запрос на сервер (ajax), передавая параметры (марку, модель и тд и тп), на их основе формируйте sql строку (добавляйте условие в конструкцию where) и делайте запрос в бд, получая нужную вам информацию и передавая ее в ответ. Используйте библиотеку jquery.

Answer 2

HTML:

<form action="get.php" method="GET">
    <select name="mark">
        <option value="название категории"></option>
        ...
    </select>
    <select name="model">
        <option value="название категории"></option>
        ...
    </select>
    <input type="submit" value="Подобрать">
</form>

PHP (get.php):

<?php
if(!isset($_GET['mark']) || !isset($_GET['model']))
    exit();
$mark = strip_tags($_GET['mark']);
$model = strip_tags($_GET['model']);

$db = mysqli("host", "login", "pass");
$db->select_db("db_name");
$result = $db->query("SELECT * FROM table_name WHERE mark=$mark AND model=$model");
while($line = $result->fetch_assocc()){
    //Вывод об
}
?>

Либо через AJAX дописать:

$('form').submit(function(event){
    event.preventDefault();
    $.ajax({
        url: '/get.php?mark'=$(this).find('[name="mark"]').val()+
             '&model'=$(this).find('[name="model"]').val(),
        method: 'GET',
        success: function(data){
            //Подгрузка на страницу из data
        },
        error: function(err){
            //Обработка ошибок
        }
    });
});
READ ALSO
Изменение данных в MySQL через php

Изменение данных в MySQL через php

Данный код предназначен для локальной работы, используется php5, просьба не давать советы по поводу защиты или того что mysql_query и тд устарели

158
Получить количество подписчиков Facebook (2018)

Получить количество подписчиков Facebook (2018)

До недавних изменений в политики Facebook, можно было создать WWW приложение и следующим образом получать количество подписчиков:

147
Как отформатировать дату в php?

Как отформатировать дату в php?

Имеется дата следующего вида 20 сентября 2017, нужно с помощью php привести ее в вид 2009

153