Форум сетевых администраторов
Показаны 4 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Категории и алгоритмы реализации (http://netadmin.ws/forum/showthread.php?threadid=7295)


Помещено rio 15-12-2003 в 21:04:

Question Категории и алгоритмы реализации

Вообщем ситуация такая :
есть mysql таблица c именем каталогов :


code:

------------------------------
id  |   name   |   subcatid    |
-------------------------------
1  |  Cat1      |       0      |
2  |  Cat1_1   |       1       |
3  |  Cat1_2   |       1       |
4  |  Cat1_3   |       1       |
5  |  Cat2      |       0       |
6  |  Cat2_1   |       5       |
-------------------------------



и выводим ее значит так :


code:
Сat1
   - Cat1_1
   - Cat1_2
   - Cat1_3
Cat2
   - Cat2_1



Все хорошо работает , задача в следующем :

Предположим нам надо поднять Cat1_2 на один (вверх или вниз) .
Единственный вариант до когорого я пока дoдумался - это ввести третью колонку "sort" ? т.е.

code:
-----------------------------------------
id  |   name   |   subcatid |   sort    |
-----------------------------------------
1  |  Cat1      |       0       |    1      |
2  |  Cat1_1   |       1       |    1      |
3  |  Cat1_2   |       1       |    2      |
4  |  Cat1_3   |       1       |    3      |
5  |  Cat2      |       0       |    2      |
6  |  Cat2_1   |       5       |    1      |
-----------------------------------------



что нам это дает :
при запросе в БД "SELECT * FROM table where subcatid='1' Order by 'sort'", мы манипулируем порядком подкатегорий.

вопрос :
Может кто нибудь более действенные алгоритмы знает для вышеописанной задачи.

П.С.: Просто недавно увидел сие на http://shop.highway.ru/ в их интернет магазине при работе с категориями товаров.

__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете !


Помещено polo 15-12-2003 в 21:10:

какие еще алгоритмы, либо сортируешь по имени, либо как ты сделал создаешь поле дополнительное. Больше ничего нет (ну конечно можно еще по дате, по ид - что глупо и т.д.).

__________________
Всегда есть решение.


Помещено rio 15-12-2003 в 21:19:

Ну я так , на всякий случай , может я упустил чего, может кто-нибудь новые быстродейственные способы организации каталогов придумал.

Просто если категорий мало - работает нормально , если категорий много (ну грубоговоря 500+) - начинает думать (хотя по идее не должно)

__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете !


Помещено Nevermind 16-12-2003 в 00:38:

quote:
если категорий много (ну грубоговоря 500+) - начинает думать (хотя по идее не должно)

А индексы как расставлены?


Формат времени GMT. Текущее время 12:16.
Показаны 4 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.