X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как организовать теги
Azazaza_hb
Azazaza_hb
Topic Starter сообщение 28.7.2012, 18:18; Ответить: Azazaza_hb
Сообщение #1


У меня есть разделы и в каждом разделе подразделы, храняться в отдельной таблице
+----------------+-----------+------------+
| id(подраздела) |---name---| id(раздела) |
+----------------+-----------+------------+

и есть статьи, при написании или редактировании я могу выбирать в качестве тегов к статье подразделы

в итоге при посещении страницы любого подраздела я должен видеть статьи которые относятся к этому подразделу, с этим проблем нету

помогите советом как правильно организовать вывод статей относящихся к определенному разделу при посещении страницы этого раздела.

создать в таблице со статьями 2 колонки, одну для id подразделов, другую для id разделов, и при добавлении или изменении статьи смотреть к каким разделам относятся выбранные подразделы и записывать их в колонку id разделов?

или при при посещении страницы раздела смотреть какие подразделы относятся к этому разделу и выводить все статьи по этим подразделам?

или как-то еще?

посоветуйте кто что думает
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azazaza_hb
Azazaza_hb
Topic Starter сообщение 28.7.2012, 22:25; Ответить: Azazaza_hb
Сообщение #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"

как сделать это правильнее?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Muxa_hb
Muxa_hb
сообщение 30.7.2012, 9:40; Ответить: Muxa_hb
Сообщение #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]
я так делал, может не совсем правильно (заодно я думаю знающие люди поправят если что)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 30.7.2012, 11:34; Ответить: Den1xxx
Сообщение #4


(Muxa_hb @ 30.7.2012, 12:40) *
вообще обычно делают три таблицы, но можно и двумя

Можно и одной. Ввести поле родителя для категории.
Формирование бесконечного дерева категорий рассматривалось в дневниках — http://www.html.by/entries/108-Beskonechnoe-derevo-kategorij

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1120 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2291 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3917 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3644 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1935 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 29.3.2024, 3:34
Дизайн