Redoker
@Redoker
Хочу научиться в программирование

Как сделать вывод товаров по категории?

Дано:
Интернет-магазин с категориями товаров. В навигации кнопки со ссылками на определённую категорию товаров.

Проблема:
Есть страница с категориями, куда подгружаются товары из базы данных. Подгружение товаров я сделал, но подгружаются все товары, вне зависимости от категории.
<?php
            $categories = mysqli_query($connection, "SELECT * FROM `products_categories`");
        ?>

        <nav class="nav">
            <?php
                while( $cat = mysqli_fetch_assoc($categories) )
                {
                    ?>
                        <a class="nav__link" href= "categorie.php?id=<?php echo $cat['id']; ?>"><strong><?php echo $cat['title']; ?></strong></a>
                    <?php
                }
            ?>
        </nav>

Код навигации и ссылка на переход по категориям, представлен выше.

$categories = mysqli_query( $connection, "SELECT * FROM `products_categories` WHERE `id` = " . (int) $_GET['id'] );
        
            if( mysqli_num_rows($categories) <= 0 )
            {
                ?>
                    Категория не найдена!
                <?php
            } else

Код вывода категории, представлен выше.

<?php
                                            $sql = "SELECT * FROM `products`";
                
                                            $results_per_page = 6;
                                            $result = mysqli_query($connection, $sql);
                                            $number_of_results = mysqli_num_rows($result);

                                            $number_of_pages = ceil($number_of_results/$results_per_page);

                                            if (!isset($_GET['page']))
                                            {
                                                $page = 1;
                                            } else
                                            {
                                                $page = $_GET['page'];
                                            }

                                            $offset = ($page - 1) * $results_per_page;

                                            $sql = "SELECT * FROM `products` LIMIT $offset, $results_per_page";
                                            $result = mysqli_query($connection, $sql);

                                            while ($prod = mysqli_fetch_array($result))
                                            {

Код вывода товаров и пагинация.

Таблица категории товаров
5ef208834b666164861442.jpeg


Часть структуры таблицы товаров
5ef208f969586425737445.jpeg


Решение:
Надо сделать переход по категориям, возможно добавить условия базы данных, но я не совсем понимаю, что именно надо исправить.
  • Вопрос задан
  • 826 просмотров
Пригласить эксперта
Ответы на вопрос 1
MichaelAniskin
@MichaelAniskin
Немного в себе
Связь между категориями и продуктами по значению type(categories) а не по id
1 href= "categorie.php?type=<?php echo $cat['type']
2 "SELECT * FROM `products_category` WHERE `categorys` = " . (int) $_GET['type']
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽