Интерактивная планировка участка. В чем хранить и как взаимодействовать с данными? Объекты, Классы?
Хочу создать интерактивную планировку участка с несколькими зданиями. Данных не много, но хранить их где-то нужно, да и доступ удобный необходим. Нужно хранить :
1. Объекты_на_участке - массив домов.
2. Дом - (номер дома, этаж, количество_этажей, ..).
3. Этаж ( номер_этажа, количество_квартир, квартира, .. ) и т.д
Получается своего рода ассоциативный многомерный массив. Как такую структуру реализовать? Можно ли заполнять "на лету" ? Что-то вроде:
Дом("№11", "4 этажа", (
"1" , "4 квартиры, (
и т.д ..)
)
)
Опыта на ноготке, спасибо за любые ответы!)
Как вариант - если нет возможности работать с БД, то лучше хранить информацию в куки, в виде json - так хотя бы информация будет персонализирована и не будут плодиться файлы (как было предложено ранее)
Также, вместо куки, можно использовать local storage
JSON я думаю будет оптимален в моем случае.
Персонализация? Не стоит такой задачи. Информация одинаковая для всех пользователей.
Будет картинка с домами. Навел на дом -> отобразилась информация о доме, кликнул по дому -> общий план скрылся, отобразился план дома с возможностью выбора этажа. Навел на этаж -> отобразилась информация по этажу, кликнул -> отобразился план этажа и т.д. в глубь до плана квартиры.
В БД хранить удобнее, но для меня создать БД, настроить к ней доступ и взаимодействие (AJAX) кажется сложнее чем хранить данные просто в JSON, а не в БД -> JSON -> html
Вячеслав Климов:
в таком случае, при загрузке сайта (страницы) инициализируете js-объект, в котором будет храниться информация о домах и прочем
далее, уже начинаются вопросы верстки и работы с этим объектом
например:
1. имеем несколько картинок домов, каждая со своим ID
2. кликаем на картинку
3. идем в объект
4. находим информацию по дому с кликнутой картинки
5. скрываем картинки с домами
6. отображаем план дома с кликнутой картинки и информацию по нему из объекта
Как хранить или как использовать. Если в js будете что-то писать и нужны по рукой данные, то конечно в объекте. Но если речь о хранении, то для этого БД есть. И json как транспортная система.
Для этого используются СУБД.
Соответственно у вас 3 таблицы
1) Участки
2) Дома
3) Этажи
Соответственно привязка везде один-ко-многим.
Например у дома есть "id, Название, id_участка"; у этажа "id, id_дома, номер_этажа, количество_квартир ..."
4) Квартиры - аналогично.
Соответственно чтоб получить все дома участка, вам нужен селект типа: Select * FROM `Дома` WHERE `id_участка` = что-то
PS
Если у вас данных не много, то можно харинить вообще как угодно - в массиве или JSON.