Spear
почемучка
Проблема, не могу сделать уже 3 дня. (деревья)
Здравствуйте.
Делаю игру (не кидайте в оффтопик, пожалуйста, просто объясняю что делаю).
Все локации хранятся в одной таблице:
ID - уник. номер локации
name - название
type - числовое. 1 - город, 2 - район, 3 - улица, 4 - здание на улице
Проблема вот в чем:
информация о текущем местоположении игрока (пользователя) - это ID одной единственной локации. Знаю этот ID мне нужно вывести полную информацию о местоположении.
Пример:
Город Н > Район Х > улица Ленина > Дом Культуры > отдел такой-то.
Это первая проблемка. Я не могу сообразить как же это сделать.
Вторая необходимая функциональность: нужно иея номер локации вывести список всех пользователей в этой И ДОЧЕРНЕЙ ей локациям.
Например запросить список юзерв в локации какого-то района - вывести список всех также со всех улиц этого района, всех зданий в нем и всех комнат зданий.
У меня уже голова пухнет.. я просто сижу и понятия не имею как это сделать, учитывая что нагрузка будет неслабая и кол-во локаций тоже немаленькое. Сами локации будут время от времени изменяться, так что, скажем, у района номе 32432 одна из улиц может оказаться с номером 232. Пример грубый.
Пожалуйста, помогите! У меня просто крыша едет!
Читал про nested sets и так далее. Может я просто чего не сообразил. Подскажите, буду очень и очень благодарен!
-~{}~ 09.05.06 07:19:
Nested sets использовать не хочу.
Попробовал сделать структуру вида
id | parent| name
забил в базу 3 города, в каждый по 15 районов, в них - по 10 улиц, на улице 5 зданий а здании по 5 комнат (да, много - но это все же тест),
Вышло всего почти 15 000 записей. Делал "рекурсие" (если я правильно понял заничение этого слова). Короче говоря выбрать все номера локаций города (районы, улицы, здания, комнаты) - 916 запросов
То есть дохрена.
Хотелось бы что-то полечге для БД.
Нашел темку http://forum.dklab.ru/sql/php/IerarhicheskieStrukturiVBd.html
там похожая структура - id | parent НО ещё есть поле level - что там хранить я из топика не понял.
Буду рад за объяснения или советы - как же лучше сделать.
Здравствуйте.
Делаю игру (не кидайте в оффтопик, пожалуйста, просто объясняю что делаю).
Все локации хранятся в одной таблице:
ID - уник. номер локации
name - название
type - числовое. 1 - город, 2 - район, 3 - улица, 4 - здание на улице
Проблема вот в чем:
информация о текущем местоположении игрока (пользователя) - это ID одной единственной локации. Знаю этот ID мне нужно вывести полную информацию о местоположении.
Пример:
Город Н > Район Х > улица Ленина > Дом Культуры > отдел такой-то.
Это первая проблемка. Я не могу сообразить как же это сделать.
Вторая необходимая функциональность: нужно иея номер локации вывести список всех пользователей в этой И ДОЧЕРНЕЙ ей локациям.
Например запросить список юзерв в локации какого-то района - вывести список всех также со всех улиц этого района, всех зданий в нем и всех комнат зданий.
У меня уже голова пухнет.. я просто сижу и понятия не имею как это сделать, учитывая что нагрузка будет неслабая и кол-во локаций тоже немаленькое. Сами локации будут время от времени изменяться, так что, скажем, у района номе 32432 одна из улиц может оказаться с номером 232. Пример грубый.
Пожалуйста, помогите! У меня просто крыша едет!
Читал про nested sets и так далее. Может я просто чего не сообразил. Подскажите, буду очень и очень благодарен!
-~{}~ 09.05.06 07:19:
Nested sets использовать не хочу.
Попробовал сделать структуру вида
id | parent| name
забил в базу 3 города, в каждый по 15 районов, в них - по 10 улиц, на улице 5 зданий а здании по 5 комнат (да, много - но это все же тест),
Вышло всего почти 15 000 записей. Делал "рекурсие" (если я правильно понял заничение этого слова). Короче говоря выбрать все номера локаций города (районы, улицы, здания, комнаты) - 916 запросов
То есть дохрена.Хотелось бы что-то полечге для БД.
Нашел темку http://forum.dklab.ru/sql/php/IerarhicheskieStrukturiVBd.html
там похожая структура - id | parent НО ещё есть поле level - что там хранить я из топика не понял.
Буду рад за объяснения или советы - как же лучше сделать.