Начал написание магазина не посредственно с разработки страницы отображения категорий и товаров и почти сразу наткнулся на проблему, на которой тщетно бьюсь вот уже второй день на пролет.
В общем начал я с того, что представил как должен работать файл отображающий категории и товары, с этим справился достаточно быстро, хотя скрипт наверное нубский.
В общем логика файла такова:
Мы имеем MySQL БД, в которой находятся таблица хранения категорий и таблица хранения товаров.
categories
Цитата:
id | title | alias | description | img | parent
в столбце "alias" хранится название категории на транслисте
в столбце "parent" хранится название родительской категории на транслисте (знаю, что можно использовать родительское id, но подумал, что так будет "визуально-легче-восприниматся", если идея глупая, то сделаю по id )
Собственно таблица товаров организован по классике и содержит поле parent, в котором указано имя категории в которой должен выводится данный товар.
Файл shop.php организован просто:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- if (!isset($cutName)) { //проверяем обратились ли мы к файлу с иминем родительской категории, подкатегории которой нужно вывести. Если нет то исполняем следующий код:
- //то есть выбираем категории которые не имеют родителя, следовательно категории 0-го уровня (или первого =D, как там правильно..) и дальше выводим их
- //ссылка каждой категории в итого выглядит так:
- <a href="shop.php?cutName=Вытянутое из таблце поле "alias" данной категории">Название категории</a>
- }
- //собственно если поле $cutName существует, то мы обратились к файлу пройдя уровень нулевых категорий и уже по логике находимся в подкатегориях, так что выводим следующий код
- //мы получили дочерние поля категории имя которой содержится в переменной $cutName и можем, проверив не пустой ли запрос с ними работать
- //ссылки на каждую категорию работают по той же модели
- <a href="shop.php?cutName=Вытянутое из таблце поле "alias" данной категории">Название категории</a>
- //повторяем такой же запрос для товаров