Дедуктивный выбор нескольких флажков Фильтр продуктов

Что я пытаюсь сделать, так это создать фильтр для продуктов, я извлекаю продукты из базы данных через таблицу данных и хочу, чтобы мой фильтр скрывал другие параметры, если они не совпадают. Например: у меня есть БРЕНД И МОДЕЛЬ. если я выберу марку Acer. в таблице данных будут отображаться все продукты acer, но я также хочу, чтобы содержимое фильтра модели обновлялось в зависимости от бренда acer. поэтому я увижу только модель acer

Вот для передней части

                        <!-- FILTER FOR BRAND -->
                    <?php      

                $query = "SELECT * FROM category where name='$namesss' and filter1='on'";
                $statement = $connect->prepare($query);
                $statement->execute();
                $result = $statement->fetchAll();
                foreach($result as $row)
                {
                    ?>

                    <div class = "list-group">
                        <h3>BRAND</h3>
                        <div style = "height: 180px; overflow-y: auto; overflow-x: hidden;">
                            <?php

                $query = "SELECT DISTINCT(BRAND) FROM prod WHERE DCS='$namesss' ORDER BY BRAND ASC";
                $statement = $connect->prepare($query);
                $statement->execute();
                $result = $statement->fetchAll();
                foreach($result as $row)
                {
                ?>
                            <div class = "list-group-item checkbox">
                                <label><input type = "checkbox" class = "common_selector BRAND" value = "<?php echo $row['BRAND']; ?>">
                                    <?php echo $row['BRAND']; ?></label>




                            </div>
                            <?php
                }

                ?>
                        </div>
                    </div>
                    <?php 
                }
                    ?> 




                    <!-- FILTER FOR MODEL -->
                    <?php      

                $query = "SELECT * FROM category where name='$namesss' and filter3='on'";
                $statement = $connect->prepare($query);
                $statement->execute();
                $result = $statement->fetchAll();
                foreach($result as $row)
                {
                    ?>
                    <div class = "list-group">
                        <h3>MODEL</h3>
                        <div style = "height: 250px; overflow-y: auto; overflow-x: hidden;">
                            <?php
                $query = "
                SELECT DISTINCT(Model) FROM prod WHERE DCS='$namesss'  ORDER BY Model ASC
                ";
                $statement = $connect->prepare($query);
                $statement->execute();
                $result = $statement->fetchAll();
                foreach($result as $row)
                {
                ?>
                            <div class = "list-group-item checkbox">
                                <label><input type = "checkbox" class = "common_selector Model" value = "<?php echo $row['Model']; ?>">
                                    <?php echo $row['Model']; ?> </label>
                            </div>
                            <?php
                }
                ?>

вот для выборки данных

                <?php  

            //fetch_data.php

            include('database_connection.php');

            if (isset($_POST["action"]))
            { 
                $query = "
                    SELECT * FROM prod where product_status ='0' 
                ";
                if (isset($_POST["minimum_price"], $_POST["maximum_price"]) && !empty($_POST["minimum_price"]) && !empty($_POST["maximum_price"]))
                {
                    $query .= "
                     AND SRP BETWEEN '".$_POST["minimum_price"]."' AND '".$_POST["maximum_price"]."'
                    ";
                }
                if (isset($_POST["BRAND"]))
                {
                    $brand_filter = implode("','", $_POST["BRAND"]);
                    $query .= "
                     AND BRAND IN('".$brand_filter."')
                    ";
                }
                if (isset($_POST["DCS"]))
                {
                    $DCS_filter = implode("','", $_POST["DCS"]);
                    $query .= "
                     AND DCS IN('".$DCS_filter."')
                    ";
                }
                if (isset($_POST["Str"]))
                {
                    $Str_filter = implode("','", $_POST["Str"]);
                    $query .= "
                     AND Str IN('".$Str_filter."')
                    ";
                }
                if (isset($_POST["Model"]))
                {
                    $Model_filter = implode("','", $_POST["Model"]);
                    $query .= "
                     AND Model IN('".$Model_filter."')
                    ";
                }

У ваших флажков нет названий. Используйте имена массивов (со скобками) <input name = "BRAND[]" value = "..."

Quasimodo's clone 20.02.2019 03:40

уже пробовал но не работает. я хочу воспроизвести фильтр товаров на этом сайте abenson.com/computers-gadget/notebook.html

Jerome Ko 20.02.2019 10:04

Работает уже более 20 лет. "не работает" - это не описание проблемы.

Quasimodo's clone 20.02.2019 13:45

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

sanoj lawrence 18.11.2019 13:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
76
0

Другие вопросы по теме