[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как держать в бд данные статьи?
Forever
У статьи есть , например:
-автор
-название
- главы
- таблицы

С первыми тремя все понятно. А таблицы... Допустим , в ММО рпг есть варианты прокачки персонажа -
на каком уровне какой навык брать.
Вот мне надо представить в виде таблицы 25 уровней персонажа , справа от каждого из которых указан навык который я выбрал на этом уровне.

И в одной статье вариантов прокачки персонажа может быть , грубо говоря, бесконечное множество.

Еще Хотелось бы, чтобы на странице редактирования статьи я мог динамически добавлять сколько угодно связок textarea (текст главы) +input type = tex (название главы) .

Подскажите, как держать все это в БД. Чтобы легко доставать и обновлять.

Я думал о том, чтобы при сохранении статьи собирать информацию из таблиц с помощью Java-Script, превращать в JSON-объект и заносить в одно поле.

И из всех textarea также делать объект и заносить в другое поле.

А при показе статьи разворачивать эти объекты в виде HTML. Это нормальный вариант? Или есть что-то получше?
inpost
Forever
Таблица - это визуальное представление. Ты же хочешь перечень навыков. Тебя не смущает, что существует 10 человек и ты их хранишь в таблице "люди" в виде 10 записей? Вот так же и навыки свои. Ищи аналогии.
А связи между автором и навыком делается через таблицу-посредник, почитай про "многие-ко-многим".

Если я правильно понял, то именно это тебе и надо.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Forever
Цитата (inpost @ 16.10.2017 - 18:00)
Forever
Таблица - это визуальное представление. Ты же хочешь перечень навыков. Тебя не смущает, что существует 10 человек и ты их хранишь в таблице "люди" в виде 10 записей? Вот так же и навыки свои. Ищи аналогии.


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

Если делать на каждый присутствующий в статье вариант прокачки отдельную запись, то нужно будет делать кучу инсертов (их может быть очень и очень много)
, и если придется обновлять их update-ми позже при редактировании статьи, это будет еще хуже, и неудобно.

Ты не мог бы зайти на один сайт, и посмотреть там реализацию того, что я имею ввиду? Там требуется регистрация но я дам свои логин и пароль.
На словах трудно объяснить, что я имею ввиду
inpost
Forever
Сколько "много"? У меня таблицы около 100 миллионов записей сейчас имеют. Я не думаю, что там больше wink.gif
Зато ты получаешь огромную гибкость, всегда можешь выбрать один навык нужный тебе и т.д. и т.п.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Forever
Цитата (inpost @ 16.10.2017 - 20:19)
Forever
Сколько "много"? У меня таблицы около 100 миллионов записей сейчас имеют. Я не думаю, что там больше wink.gif
Зато ты получаешь огромную гибкость, всегда можешь выбрать один навык нужный тебе и т.д. и т.п.

Как-то я плохо расписал свою проблему...

Да, для самих навыков и их информации у меня отдельная таблица.

Но при написании статьи (гайда на персонажа) автор может добавлять сколько угодно блоков , в которых указывает порядок прокачки скиллов.

И в каждом блоке он может менять порядок при редактировании гайда. Если собрать все эти блоки в json объект, можно будет менять одним запросом все блоки разом.
И как бы побочек нет, потому что по этим даным нет и не может быть выборки.

А так придется делать кучу апдейтов и инсертов, делитов и тд.
И если автор гайда напихает 50 блоков в статью, рридется фигачить 50 инсертов за раз. Я оч плохо знаю БД , но 50 вроде невесело
Игорь_Vasinsky
ну как минимум 3 таблицы

основная

идентификатор
автор
название

главы
идентификатор
ссылка на идентификатор статьи
данные главы

так же и с таблицами (если я правильно понял)

а что мешает прочитать про нормальные формы?
https://habrahabr.ru/post/254773/

первых 3 хватить должно


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Forever, судя по описанию, ты никак кроме как для статей данные уровней не собираешься использовать, верно? Тогда прикрути wysiwyg редактор, в котором есть возможность строить таблицы, и все. В БД будет попадать html, который сгенерит редактор, его же потом и будешь выводить на сайте.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.