Задать вопрос
@dk-web

Как лучше построить таблицы в БД?

Доброго времени суток!
Несколько оптимизирую админку к сайту и вот с чем столкнулся..

У компании филиалы в N городах.
Сейчас в админке кошмар какой-то. Выводится общая таблица X на N, где X - это количество переменных, вставляемых в шаблон сайта... Соответственно таблица одна общая на все города.

uid | title (ключ массива) | city_1 | city_2 | city N
1 header Добро пожаловать в Тверь Добро пожаловать в Ярославль Добро пожаловать в N
2 history История нашего производства в Твери насчитывает...... В Ярославле наша компания присутствует с.

и т.д.

В связи с этим вопрос. Как лучше перестроить БД? создавать под каждый город таблицу и плодить N одинаковых таблиц и парсить название таблицы или оставить как есть?

В текущей ситуации не то, что это не гладко выглядит, а формула для вставки в БД усложняется..
Буду признателен за совет. В любом случае задача во многом типовая... филиалы - одинаковые таблицы и т.д.

Сайт одностраничный с модальным окном - выберите город - в зависимости от выбора подгружаются данные.
Спасибо!
  • Вопрос задан
  • 257 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@AlikDex
2 таблицы

1) таблица городов
city_id Города | city название города.
1 | Тверь

2) - таблица фраз
city_id города | key - хз как обовать. смысл короче | фраза.
1 | header | "Добро пожаловать..."

Можно еще конечно третью таблицу придумать, чтобы привести в третью нормальную форму и исключить одинаковые фразы, но это ни к чему. У вас де не килотонны текста.
А работает просто:
SELECT * 
FROM `phrases` as p
    JOIN `cities` AS c USING (city_id)
WHERE `p`.`city_id`="1";
Ответ написан
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
форма для введения данных - и структура бд - они не то чтобы очень связаны...
кто вам мешает вывести список городов и в зависимости от выбранного города выводить на редактирование ровно одну запись????
Ответ написан
@heartdevil
плыву как воздушный шарик
1)Города (cities)
cId | title

2)Блоки на странице (blocks)
sId | title

3)Фразы (phrases)
phId, title

теперь соединяем всю эту блевотину)

4)Города-Блоки-Фразы (citiesBlocksPhrases)

cId | bId | phId
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы