|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.01.2021, 07:54 | #1 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Проблемы с сортировкой товаров в каталоге товаров
Доброго времени суток. Помогите решить проблему такого рода. Каталог товаров размещен не на главной странице сайта. Она подключена с помощью следующего кода:
<?php $route = $_GET['route']; require 'templates/header.php'; switch ($route) { case '': require 'templates/main.php'; break; case 'main.php': require 'templates/main.php'; break; case 'catalog.php': require 'templates/catalog.php'; break; ?> На данной странице реализую сортировку товаров в блоке сортировки: <div class="option-list-sorting"> <div class="inner-option-list-sorting"> <ul id="main-sorting-list"> <li>Сортировать:</li> <li><a id="select-sort"><?php echo $sort_name;?></a> <ul id="sorting-list"> <li><a href="catalog.php?sort=index.php?pr ice-asc">От дешевых к дорогим</a></li> <li><a href="catalog.php?sort=index.php?pr ice-desc">От дорогих к дешевым</a></li> <li><a href="catalog.php?sort=index.php?po pular">Популярное</a></li> <li><a href="catalog.php?sort=index.php?ne ws">Новинки</a></li> <li><a href="catalog.php?sort=index.php?br and">От А до Я</a></li> </ul> </li> </ul> </div> </div> Данный скрипт с сортировкой подключен к индексной странице:<?php include 'include/db_connect.php'; $sorting = $_GET["sort"]; switch ($sorting) { case 'price-asc'; $sorting = 'price ASC'; $sort_name = 'От дешевых к дорогим'; break; case 'price-desc'; $sorting = 'price DESC'; $sort_name = 'От дорогих к дешевым'; break; case 'popular'; $sorting = 'count DESC'; $sort_name = 'Популярное'; break; case 'news'; $sorting = 'datetime DESC'; $sort_name = 'Новинки'; break; case 'brand'; $sorting = 'brand'; $sort_name = 'От А до Я'; break; default: $sorting = 'products_id DESC'; $sort_name = 'Нет сортировки'; break; } ?> Сам блок с товарами подключен к БД корректно. <?php $result = @mysql_query("SELECT * FROM table_products WHERE visible='1' ORDER BY $sorting",$link); if (mysql_num_rows($result) > 0) { $row = mysql_fetch_array($result); do { if ($row["image"] != "" && file_exists("./img/goods/".$row["image"]))//при переносе в интернет точку из пути к файлу изображения убрать { $img_path = './img/goods/'.$row["image"];//тоже самое с точкой в пути $max_width = 148; $max_height = 148; list($width, $height) = getimagesize($img_path); $ratioh = $max_height/$height; $ratiow = $max_width/$width; $ratio = min($ratioh,$ratiow); $width = intval($ratio*$width); $height = intval($ratio*$height); } else { $img_path = "img/no-image.png"; $width = 148; $height = 148; } echo ' <div class="items"> <div class="inner-items"> <div class="block-images-grid"> <img class="imagegoods" src="'.$img_path.'"" minwidth="'.$width.'" minheight="'.$height.'"> </div> <div class="reviews-and-count-grid"> <div class="inner-reviews-and-count-grid"> <div class="img-eye"> <div class="inner-img-eye"> <img src="./img/eye-icon.png"> <p>0</p> </div> </div> <div class="img-comment"> <div class="inner-img-comment"> <img src="img/comment-icon.png"><p>0</p> </div> </div> </div> </div> <p class="name"><a href="">'.$row["title"].'</a></p> <p class="mini-features"><a href="">'.$row["mini_features"].'</a></p> <p class="price">Цена:'.$row["price"].'<span>руб.</span></p> <button class="add-to-cart">В корзину</button> </div> </div> '; } while ($row = mysql_fetch_array($result)); } ?> Вопрос: при подключении блока с товарами на индексной станице все корректно сортируется. Как только переношу на другую страницу - Судя по всему, скрипт как-то обрабатывается, но товары не сортируются. Все скрипты вроде подключены корректно. Думаю, что проблема в пути вот в этом месте блока сортировки: <li><a href="catalog.php?sort=index.php?pr ice-asc">От дешевых к дорогим</a></li> Может, надо указать другой путь, если страница подключена с помощью $route = $_GET['route'];? Помогите разобраться по-возможности, пожалуйста. |
27.01.2021, 09:18 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
смотрели что в GET
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
27.01.2021, 11:20 | #3 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Когда делаю страницу каталог главной-все работает. И выдает
array(1) { ["sort"]=> string(10) "price-desc" и товары сортирует. Когда каталог с товарами не на главной странице - выдает array(1) { ["route"]=> string(12) "catalog.php" } и сортировки нет. Так вот а каким образом надо прописать условия для работы switch'a $sorting? |
27.01.2021, 11:44 | #4 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Я же вроде написал:
<?php $sorting = $_GET["sort"]; switch($sorting) { case ' price-asc'; $sorting = 'price ASC'; $sort_name = 'От дешевых к дорогим'; break; case 'price-desc'; $sorting = 'price DESC'; $sort_name = 'От дорогих к дешевым'; break; case 'popular'; $sorting = 'count DESC'; $sort_name = 'Популярное'; break; case 'news'; $sorting = 'datetime DESC'; $sort_name = 'Новинки'; break; case 'brand'; $sorting = 'brand'; $sort_name = 'От А до Я'; break; default: $sorting = 'products_id DESC'; $sort_name = 'Нет сортировки'; break; } ?> |
27.01.2021, 11:45 | #5 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Но работает это, почему-то, только на главной странице
|
27.01.2021, 12:26 | #6 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
1) на главной странице, рабочей, какой путь в href в ?
Код:
2) пробовали заменить Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
27.01.2021, 16:09 | #7 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Пробовал. В таком случае открывает страницу array(1) { ["route"]=> string(28) "catalog.php/sort=price-desc" } как отдельную. Соответственно слетают все стили, а каталог вообще не выводится
Последний раз редактировалось artsyman; 28.01.2021 в 12:37. |
28.01.2021, 12:34 | #8 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
<ul id="main-sorting-list">
<li>Сортировать:</li> <li><a id="select-sort"><?php echo $sort_name;?></a> <ul id="sorting-list"> <li><a href="catalog.php?sort=price-asc">От дешевых к дорогим</a></li> <li><a href="catalog.php?sort=price-desc">От дорогих к дешевым</a></li> <li><a href="catalog.php?sort=popular">Поп улярное</a></li> <li><a href="catalog.php?sort=news">Новинк и</a></li> <li><a href="catalog.php?sort=brand">От А до Я</a></li> </ul> </li> </ul> |
28.01.2021, 16:07 | #9 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,179
|
Код:
|
28.01.2021, 21:11 | #10 |
Пользователь
Регистрация: 27.01.2021
Сообщений: 14
|
Да пробовал я уже и так и так - не получается. И не могу понять в чем косяк. Выдает array(1) { ["route"]=> string(12) "catalog.php" } Эту страницу с каталогом я подключил с помощью
<?php //print_r($_GET); $route = $_GET['route']; //require 'templates/header.php'; switch ($route) { case '': require 'templates/main.php'; break; case 'main.php': require 'templates/main.php'; break; case 'catalog': require 'templates/catalog.php'; break; ?> Вот array и выдает мне до catalog.php А сортировка не работает. Хоть и ее я тоже подключил тоже тут в catalog.php Кто знает, в чем может быть дело? Может дополнительно надо еще что прописать? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сканер штрих-кодов: поиск актуальной базы данных со штрихкодами товаров; проблемы с cv2.cv.CV_32F и параметром --image | VolodyaBuzin | Python | 2 | 08.02.2020 13:36 |
Калькулятор товаров | ник17 | Общие вопросы по Java, Java SE, Kotlin | 1 | 24.03.2015 16:40 |