Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > категории, сабкатегории sql


Автор: gibbzy 1.7.2008, 04:28
Есть база данных с товарами
в котрой 
id,  название товара, и прочее ) 
нужно сделать так чтобы товары можно было распределять по разным категориям так : 
категория> сабкатегория1> сабкатегория2> .... >сабкатегория n

как лучше реализовать это в базе ?

Автор: krundetz 1.7.2008, 08:40
Я использую для каждой категории parentId в котором храню либо 0 если это категория верхнего уровня либо Id категории для которой данная является подкатегорией.

Автор: gibbzy 2.7.2008, 04:38
ага спасибо большое я разобрался 

Автор: Staind 5.7.2008, 00:35
2krundetz,
А как сам запрос нормально отсортировать? Не получается нормальная сортировка.

Автор: krundetz 6.7.2008, 02:12
По каким критериям нужно сортировать? Я сотриую по нескольким и по всем получается.

Автор: Staind 9.7.2008, 15:53
Нужно, чтобы сначала шла Главная категория, за ней все дочерние категории, которые присоединены parentId  к нему. А потом снова главная и к ней дочерние.

Автор: Feldmarschall 9.7.2008, 16:09
это называется не сортировка, а построение дерева.
про построение дерева в этом форуме сотни тем.

Автор: krundetz 10.7.2008, 00:00
Staind для этого собственно говоря и нужна рекурсия тоесть мы сделали запрос и формируем дерево разбирая этот запрос и при разборе берем да проверяем есть ли у нас подкатегории и если есть мы делаем ещё один запрос и т.д. для каждой категории.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)