Forum Webscript.Ru
Общие => Базы данных => Тема начата: Quarto от 23 Ноября 2006, 03:24:26
-
В БД полный ламер. Кто подскажет как создать сабж?
Листьев быть не должно(т.е. пустых мест не остается, кроме конца), Новый пользователь должно вставть в самый низ дерева, с возможностью выбора ветки\\либо автоопределения по его желанию. Еще нужно выдирать оттуда родительский список.
Есть еще один вопросик - оффтопный, но не нашел на какую ветку впихнуть... Как содавать личные кабинеты? На чем? Или если есть скрипты - искал в инете ниче не нашел. Тырил чужие - ничего не понял =))
Заранее спасибо
-
Quarto
может сразу передашь свой проект другим людям и делу конец?
-
Нет, не передам. Была возможность сделать все бесплатно в веб студии, но... Никому не доверю и хочется самому научится. Если в лом обяснять - хоть на норм. документацию ссылки дайте - ибо документации огромное кол-во, а как нужно найти что конкретное - барада. Протсо тупо скопированные одни и теже статьи растиражированые на десятках ресурсов.
-
Возьмите какую-нибудь книгу по базам данных, к примеру - "Понимание SQL" Мартина Грубера. Установите себе какую-нибудь СУБД, к примеру - mySQL. И научитесь, раз уж так решили.
Вы отказались "сделать все бесплатно в веб-студии", а теперь хотите, чтоб Вам все сделали бесплатно здесь. Увы, здесь могут лишь помочь советом по достаточно конкретным вопросам.
К слову о последних, пока что я согласен с commander. Вряд ли Вы вытянете такой проект своими силами. Если проект интересный и важный, передайте его кому-нибудь или хотя бы привлеките к нему компетентных людей.
-
Quarto
Вопросы:
1. Зачем тебе понадобилось двоичное дерево?
2. Что в твоем понимании личный кабинет и чего ты от него хочешь?
-
1. Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд.
2. Страничка на которой находится информация о пользователи, будь то "родители" из дерева, счет, статистика, т.е инфа о пользователе + интерфейс работы с системой (пара кнопок)
-
Quarto
1. Ну и зачем тебе здесь бинарное дерево? Т.е., три пользователя от узла - не бывает?
2. Tasks rule the world. Смотрим, авторизован ли пользователь, если "да" - то показываем ему (цитата) родителей из дерева, счет, статистика, т.е инфа о пользователе + интерфейс работы с системой (конец цитаты)
Well, what goes?..
-
Трех не должно быть впринципе. Только 2.
-
Quarto
Quarto:
Только 2
Немного нездоровое ограничение для твоей задачи, ты не находишь?
-
А откуда ты знаешь мою задачу если не секрет?
-
Quarto
Quarto:
Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд.
Бинарное дерево тебе может пригодиться только в одном случае: если тебе нужна супер-оптимизация. А я что-то пока не заметил описания задачи, где нужны мега-скорости и соотв. вычислительные мощности.
Поэтому предлагаю не париться и обойтись обычным одно/дву-связным списком.
-
1. Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд. (с)
Так сложно понять для чего мне двоичное дерево?
Ладно, вижу не особо ты горишь желеание мне помочь, тогда хоть оцени идею...
Если создать таблицу - в одном столбце ID пользователя - в другом его вышестоящее звено, то реально ли сделать так чтоб при регистрации пользователя ему вы водились только те юзеры, у которых еще не два "подчиненных" и он момог выбрать одного из них и зарегистрироваться. Соответство он должен занестись в БД с присвоенным ID в одной графе и с "начальником" в другом.
И еще. По БД я вроде как уже коечто нашел, буду потихонько сидеть разбираться, Но вот что обстоит с личными кабинетами? Тоесть пользователь авторицуется и попадает на страницу, где может видеть всех своих "родителей", "подчиненых" и др статистику?
-
Quarto
Quarto:
Так сложно понять для чего мне двоичное дерево?
Да! Я до сих пор не могу понять, зачем тебе там двоичное дерево!
Личный кабинет: я ж вроде написал, с чего начинать копать.
Страница, которая отображает нужные данные, доступная только при некоторых условиях - например, успешной авторизации.
В чем конкретно вопрос?
-
Мб я неправильно понимаю термин двоичного дерева, но мне нужно чтоб от каждого звена отходило лишь две ветки. В этом вся суть, ибо задача, стоящая передо мной, основывается на данном принципе. 1-2-4-8-16 и т.д.
Проблема в том что с программирование у меня туго и поэтому я и спрашиваю чем лучше с вашей точки зрения и как реальзовать "личный кабинет", а лучше ссылку на исходники
-
Quarto
Так бы и сразу.
По моему скромному - лучше обойтись обычным "parent", и для узла хранить количество его потомков. Проверять, обновлять и искать - логикой в коде.
ЛК: в чем проблема? В авторизации или выводе данных? Или во всем вместе??
-
Во всем вместе
-
Quarto
Эх..
Тогда, задача выглядит вот так:
1. Опознать пользователя (authenticate)
2. Определить полномочия (authorize)
3. Выдать страницу
Первые две решаются скриптами авторизации, коих великое множество (google; можно и тут по форуму поискать). В общем случае - читать по сессии.
Третья - в зависимости от реализованной логики.