passshift
@passshift
php, js, html5, css

Как хранить в БД большой отформатированный текст?

Здравствуйте!

Появилась нужда хранить в таблице большой отформатированный текст (содержимое счёт-фактур), таблица очень простая:

id (int) | description (?)

Нет возможности содержимое description оформлять при выводе. Хочу хранить сразу с html-тегами.

Заносить информацию в данную таблицу будет отдельная функция в которую будут поступать только переменные БЕЗ каких-либо тегов и тд.

Какой тип данных выбрать? Насколько это безопасно и правильно?

PS: нужда появилась в процессе написания интернет-магазина в котором товары и категории будут постоянно удаляться/переименовываться и необходимо выдавать корректную информацию о давних заказах. Т.е. в description будут попадать наименования товаров, их количества, суммы на момент оплаты заказа и все это будет оформлено в виде "легкой" таблицы, и сохранено под уникальным ID заказа.
  • Вопрос задан
  • 3349 просмотров
Пригласить эксперта
Ответы на вопрос 2
zoonman
@zoonman
⋆⋆⋆⋆⋆
LONGTEXT, при грамотном подходе абсолютно безопасно, т.к. контент создаете вы.
Насчет правильно вопрос сложный, т.к. зависит от постановки задачи.
Обычно такие вещи генерируют на лету и хранят состав заказа. Всякие маркетологи любят спросить, а что было в тренде в мае прошлого года. Ну и всякие ABC-анализы нужны и т.п., отчеты о продажах с разрезами.
Ответ написан
Я в своё время сохранял именно корзину на момент оформления заказа. Прошла оплата, зафиксировал данные (цена, количество, наименование, номер заказа, доставка и прочее).

Если реляционная БД, то переносил данные в отдельные 2 таблицы (первая информацию о заказе хранит, а вторая хранит позиции из корзины). Потом перешёл на MongoDB и это одна запись в коллекции.

Почему так — иногда дизайн (как вид, так и поведение) меняется, надо переделывать, и в данном случае проще просто отрендерить страницу. Например для письма, для вывода на экран, для API и для печати.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы