|
2 / 2 / 2
Регистрация: 07.05.2013
Сообщений: 70
|
||||||
Вывод категорий/подкатегорий статей и создание url29.03.2016, 12:20. Показов 2609. Ответов 6
Метки нет (Все метки)
Привет. Существует таблица "article_category", в ней следующая структура:
id | name | slug | parent_id id - это уникальный айди категории name - название самой категории slug - то, что пользователь видит в url (.../my-category) parent_id - родительская категория, если нет родителя, по дефолу = 0 Далее, таблица "article", где содержатся все статьи id | title | slug id- уникальный айди статьи И таблица "category_article_rel". показывает связь между категориями и статьями article_id | category_id Вопрос в том, при выводе всех статей из БД, как вывести еще и подкатегорию данной статьи и показать это в URL? Вот к примеру, все категории, и видно что у одной из них сущесвует родитель, как действовать дальше чтобы было url был такого плана? site.com/category/child-category Вот так я получаю статьи, где айди категории = 13
0
|
||||||
| 29.03.2016, 12:20 | |
|
Ответы с готовыми решениями:
6
Вывод категорий и подкатегорий на страницу Вывод категорий/подкатегорий на страницу сайта
|
|
2 / 2 / 2
Регистрация: 07.05.2013
Сообщений: 70
|
|
| 29.03.2016, 12:48 [ТС] | |
|
Kerry_Jr, ЧПУ это не проблема, вопрос не в этом.
Вопрос в том, при выводе всех статей из БД, как вывести еще и подкатегорию данной статьи и показать это в URL? А ЧПУ , не ЧПУ, это я сам сделаю. Я думаю, все с этим же сталкивались, работая с категориями/подкатегориями. Просто, логику не понимаю
0
|
|
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 29.03.2016, 13:32 | |
|
Если хотите в адресе статьи отразить алиас (слаг) категории, можете прямо по нему сначала выбирать категорию (часто полный список категорий выбирается заранее, поэтому есть возможность не делать отдельный запрос, хотя зависит от движка), а потом уже по категории – статью без присоединения категории, т.к. она по-любому уже выбрана.
Если категория у статьи может быть только одна, таблица category_article_rel лишняя. P.S. Существует подход не использовать алиас категории в адресах статей и подкатегорий: /article/<алиас статьи> /category/<алиас категории или подкатегории> Можно и без /article или /category. Можно просто выбрать пересечение по двум алиасам или по алиасу статьи и совпадению идентификатора категории, но в последнем случае алиас категории в адресе будет фейковый и может быть любым (похоже на присоединение категории по ее идентификатору).
0
|
|
|
2 / 2 / 2
Регистрация: 07.05.2013
Сообщений: 70
|
|||||||||||
| 29.03.2016, 14:07 [ТС] | |||||||||||
|
Ну вот например ссылки в меню, при том что есть такие 2 категориии как, транспорт и авто. В базе данных, у категории cars, родительская (parent_id) категория будет transport.
- Как сделать такую выборку? Ну а при переходе по второй, нужно показывать только легковые авто. - Как сделать такую выборку?
0
|
|||||||||||
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|
| 29.03.2016, 16:59 | |
|
gt3000, посмотри этот пост там похожая проблема Вывод данных из бд поочередно
0
|
|
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 29.03.2016, 20:11 | |
|
gt3000, в общем случае это делается путем многократного присоединения таблицы категорий с ее переименованием (добавлением алиаса) и условием вроде `level{$level}`.`id`={$id}, но на практике часто оптимизируют, существенно отходя от теории. Например, если бы у меня было четко два уровня, я бы определил по адресу только один идентификатор категории/подкатегории (выше писал, что во второй ссылке transport – в принципе лишнее), затем определил бы по значению parent_id уровень и в зависимости от уровня сделал запрос либо с условием `category_id`={$id}, либо с условием `category_id` IN (SELECT `id` FROM `article_category` WHERE `parent_id`={$id}).
0
|
|
| 29.03.2016, 20:11 | |
|
Помогаю со студенческими работами здесь
7
Kohana вывод категорий и подкатегорий Создание категорий с одинаковыми названиями (url) Поиск категорий и подкатегорий
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|