Помощник
|
![]() |
![]() |
Сообщение
#1
|
||
![]() |
|
||
|
|||
![]() |
Сообщение
#2
|
![]() |
приведу пример, есть список категорий и подкатегорий, их немного:
категория1 подкатегория1.1 подкатегория1.2 подкатегория1.3 категория2 подкатегория2.1 подкатегория2.2 подкатегория2.3 категория2 подкатегория3.1 подкатегория3.2 подкатегория3.3 я написал статью и выбрал из списка тегов выделенные: подкатегория1.1 подкатегория1.2 подкатегория1.3 подкатегория2.1 подкатегория2.2 подкатегория2.3 подкатегория3.1 подкатегория3.2 подкатегория3.3 отправил статью на обработку скрипту, в качестве тегов получил массив: [0]=>"подкатегория1.2" [1]=>"подкатегория1.3" [2]=>"подкатегория2.2" перебрал массив, создал еще один, который содержит категории относящиеся к этим подкатегориям, тоесть получил еще один массив: [0]=>"категория1" [1]=>"категория2" преобразовал эти массивы в 2 строки соответственно, записал в базу, в таблицу со статьями в колонку Subcategory - "подкатегория1.2, подкатегория1.3, подкатегория2.2" в колонку Category - "категория1, категория2" как сделать это правильнее? |
|
|
![]() |
![]()
Сообщение
#3
|
![]() |
вообще обычно делают три таблицы, но можно и двумя
одна таблица с тремя полями - id, category,num_cat - где category - описание категории, num_cat номер (1,2,3 и т.д.) вторая таблица - сами подкатегории, и в ней же поле с номером категории к которой она относится а третья таблица - таблица связей между этими категориями, где просто цифры хранятся по сути (можно и без нее) и затем смотришь категорию по номеру и извлекаешь из другой соответствующие данные, т.е. к примеру таблица 1 1, category1, 1 2, category2, 2 3, category3, 3 таблица 2 1, subcategory1, 1 2, subcategory2, 1 3, subcategory3, 1 4, subcategory1, 3 5, subcategory2, 3 6, subcategory1, 2 и смотришь. допустим нужно извлечь категорию 1 [PHP]*_query("SELECT * FROM `subcategories` Where `num_cat`=(SELECT `num_cat` FROM `categories` Where `category`='category1')");[/PHP] я так делал, может не совсем правильно (заодно я думаю знающие люди поправят если что) |
|
|
![]() |
![]()
Сообщение
#4
|
|
![]() |
вообще обычно делают три таблицы, но можно и двумя Можно и одной. Ввести поле родителя для категории. Формирование бесконечного дерева категорий рассматривалось в дневниках — http://www.html.by/entries/108-Beskonechnoe-derevo-kategorij
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
![]() |
Как зарабатывать на Telegram в 2025 году: пошаговое руководство + готовая связка | 2 | leadmagnet | 803 | 17.5.2025, 21:47 автор: CrypTomera |
![]() |
Как монетизировать мелкие Ютуб каналы? | 5 | uahomka | 2446 | 10.5.2025, 16:45 автор: prolisk |
![]() |
Как выводить на сайте разную рекламу для разных стран? | 5 | CrypTomera | 1946 | 2.5.2025, 20:57 автор: Boymaster |
![]() |
Как создать учетные записи Gmail БЕЗ проверки номера телефона | 6 | Legitsms | 3183 | 29.4.2025, 22:15 автор: Vlad69 |
![]() |
Как лучше выводить рекламу на сайте? | 3 | Boymaster | 1244 | 16.4.2025, 14:00 автор: malamut |
![]() |
Текстовая версия | Сейчас: 20.5.2025, 23:28 |