Как мне сделать фильтрацию по категориям, из базы данных (mysql)?
У меня есть база данных, в ней есть отдельный столбец "categoria"
Мне нужно сделать на сайте сортировку по этим категориям, чтобы при нажатии на одну, появлялись товары с указанной в базе данных категории:
<div class="second_nav"> <div class="content"> <div class="categorii" name = 'categoria'> <div class="all_cateroria"> <a href="index.php?categoria=all">Все</a> </div> <div class="fortnite_categoria"> <a href="index.php?categoria=fort">Fortnite</a> </div> <div class="brawl_categoria"> <a href="index.php?categoria=brawl">Brawl Stars</a> </div> </div> <div class = 'input'> <input type="text" placeholder="Поиск..."> </div> </div> </div> |
<div class="second_nav"> <div class="content"> <div class="categorii" name = 'categoria'> <div class="all_cateroria"> <a href="index.php?categoria=all">Все</a> </div> <div class="fortnite_categoria"> <a href="index.php?categoria=fort">Fortnite</a> </div> <div class="brawl_categoria"> <a href="index.php?categoria=brawl">Brawl Stars</a> </div> </div> <div class = 'input'> <input type="text" placeholder="Поиск..."> </div> </div> </div>
Дополнительно:
100500 тегов не надо, один всего, тот на котором хотите отсортировать список php или js
Ответы:
Для начала надо выучить русский язык и узнать, что означает слово "сортировка"
Потом надо выучить SQL, чтобы узнать, каким образом можно ограничить выборку по условию.
Потом надо выучить HTML чтобы узнать, как можно передать выбор пользователя на сервер
Потом надо выучить РНР чтобы узнать, как можно взять переданное из HTML значение и подставить его в SQL запрос, выполнить этот запрос, и вывести результат.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для реализации фильтрации по категориям из базы данных MySQL вам потребуется использовать оператор SQL WHERE с условием по категории. Ниже приведен пример кода на PHP, который поможет вам реализовать данную функциональность.
// Подключение к базе данных $host = 'localhost'; $username = 'username'; $password = 'password'; $database = 'database'; $connection = mysqli_connect($host, $username, $password, $database); // Проверка соединения if (!$connection) { die('Ошибка подключения: ' . mysqli_connect_error()); } // Получение выбранных категорий из формы $selectedCategories = $_POST['categories']; // Формирование SQL запроса с условием по выбранным категориям $sql = "SELECT * FROM products"; if (!empty($selectedCategories)) { $sql .= " WHERE category IN ("; foreach($selectedCategories as $category) { $sql .= "'" . $category . "',"; } $sql = rtrim($sql, ',') . ")"; } // Выполнение SQL запроса $result = mysqli_query($connection, $sql); // Обработка результатов запроса if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "ID: " . $row['id'] . " - Название: " . $row['name'] . " - Категория: " . $row['category'] . "<br>"; } } else { echo "Нет результатов"; } // Закрытие соединения mysqli_close($connection);
В данном примере мы сначала подключаемся к базе данных MySQL, затем получаем выбранные категории из формы (предполагается, что они передаются в виде массива), формируем SQL запрос с условием WHERE по выбранным категориям и выполняем его. После этого выводим результаты запроса.
Не забудьте заменить 'localhost', 'username', 'password', 'database' на ваши реальные данные для подключения к базе данных. Также убедитесь, что структура вашей таблицы и названия полей соответствуют используемым в коде.