Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Организация системы пользователей
 
 автор: Richard Ferlow   (30.11.2006 в 14:04)   письмо автору
 
 

В принципе вопрос подходит и как в этот форум, так в php форум. Здесь наверное более уместо.
Блин, не могу придумать никак.
Ситуация такая.
Есть система пользователей. Она имеет иерархичную систему. А именно - есть один пользователей - он заводит еще двух, и они становятся его пользователями, те в свою очередь еще сколько-то, они уже их пользователями и так далее. Я думаю структура ясна.
Сей вариант в примитиве выглядит просто - в базе данных три колонки(ну в примитиве конечно) - id пользователя, имя пользователя, id того, кому принадледжит. Собственно вот, все просто. НО.
Мне надо так, чтобы у двух(и более) пользователей мог бы быть одинаковый под пользователь.
Тоесть он бы принадлежал не только тому, кто его создал, но и еще какому-то.
В теории можно было бы сделать так - в id того, кому принаджлежит записывать значения через запятую.(1,6,9) Но, я потом не знаю как оттуда удалять, как обрабатывать это, если понадобится от одного пользователя убрать и пристыковать к другому.
Дальше, эьл порождает проблему вывода всех пользователь в виде...ну похожем на генеалогическое дерево(все я думаю представляют как это). Это происходит как - берется первый пользователь, и выясняется, какие у него есть пользователи, выводим их, а потом выводим пользователей этих пользователей - ну и т.д. Проблема в том, что это получается нужно через скрипт всю базу пользователей прогонять, чтобы найти тех, у кого в "id того, кому принадлежит" записаны нужные нам значений, ибо стандартную выборку в духе WHERE id=$id мы произвести не можем.
В общем - что делать...ума не приложу..как сделать, как оперировать этим.
Помогите кто ведает.

   
 
 автор: tuder   (30.11.2006 в 14:15)   письмо автору
 
   для: Richard Ferlow   (30.11.2006 в 14:04)
 

Завести отдельную базу принадлежностей


1 3
1 5
1 7

2 4
2 5

Надо - добавил, что 5 принадлежит ещё и 3

3 5

Если же кто-то перешёл к кому-то, то от кого (2) меняем на к кому (3)
1 3
1 5
1 7

2 4
3 5

Дальше ушёл 5 от 1 - удаляем.

1 3
1 7

2 4
3 5

   
 
 автор: Richard Ferlow   (30.11.2006 в 14:17)   письмо автору
 
   для: tuder   (30.11.2006 в 14:15)
 

Гениально :))
Надо освобождать разум, дабы выходить за рамки единственной таблицы.

   
 
 автор: Trianon   (30.11.2006 в 14:34)   письмо автору
 
   для: Richard Ferlow   (30.11.2006 в 14:17)
 

на самом деле это стандартная реализация отношения "многие ко многим"

   
 
 автор: Richard Ferlow   (30.11.2006 в 15:14)   письмо автору
 
   для: Trianon   (30.11.2006 в 14:34)
 

Я постигаю в процессе, доходя до всего сам, вот что и порождает иногда такого рода проблемы.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования