[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Хранение массива в БД
Страницы: 1, 2
Reh
Люди привет, с Рождеством!
Есть товары со своим ид - goods_id, есть заказы в которых собственно и присутствуют эти товары в разных количествах, как это хранить в бд?
Пришло в голову так:
Делаем массив, ключи это goods_id, количество товара соответсвенно значение, далее кодируем так json_encode и пишем в БД в поле text. При извлечении соответсвенно обратным путем. Так пойдет? Какие еще варианты есть?
miketomlin
«Многие ко многим» wink.gif
miketomlin
P.S. Кол-ва по каждой позиции заказа можно хранить в связующей таблице.
miketomlin
P.P.S. Цену лучше тоже. Или итоговую непосредственно в заказе. Пользователей раздражает, когда цена неожиданно меняется прямо в заказе.
Reh
miketomlin
количество позиций заказа мне не нужно, цену понятно что в заказе(прайс то меняется), касаемо первоначального вопроса я них не понял
miketomlin
Я написал «кол-во по каждой позиции заказа». Вы сами про кол-ва писали. Уже не нужно? smile.gif

Раз «них не понял», тогда надо учиться. Начните с поиска по ключу в моем первом посте.
Kusss
каждую позицию в отдельной строке.
id order_id goods_id number price date old
date - когда добавлена позиция
old - старая позиция.

Если заказ изменен, все позиции помечаем как старые, и добавляем новые.
Reh
Kusss
А зачем позиции помечать как старые? Почему нельзя удалить и залить новый заказ?
В остальном так раньше и делал, но стало смущать что сток много получается и некоторые данные в них повторяются - user_id, date, плюс нужно делать еще таблицу адрес доставки, комментарии к заказу, самовывоз или доставка и тд, а в моем варианте вроде как все данные в одной строке, единственное смущает это хранение массива в БД(goods_id и количество) и невозможность отслеживать движение по товару. Например в каких заказах был определенный goods_id уже будет сложнее найти. Или вывести срок реализации определенных goods_id
Reh
Может сделать две таблицы первая все о заказе кроме позиций, а вторая goods_is, order_id, count и тд?
miketomlin
Аминь.


Но все же жалко, что учиться религия не позволяет.
Reh
miketomlin
ты или помоги нормально, так чтобы тебя поняли.
Или иди на х.. и мозг тут не еб..
miketomlin
Reh, если я не буду тебе еб.. мозг, ты так девочкой и останешься... в смысле мозгового развития.
miketomlin
Хотя лады. Насильничать я не нанимался.
sergeiss
Reh, возьму нормальную БД, работающую с JSON (Постргес, Монго....) и всё встанет на свои места. Ты и данные сможешь хранить с произвольным набором полей, и поиск/фильтрацию/индексацию по определенным полям сможешь сделать.
Тебе, я так подозреваю, Постгрес лучше подойдет smile.gif Потому как там и обычный SQL возможен, и неплохая работа с JSON.

Если чего, в скайп не стесняйся зайти.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh
sergeiss
Вот тоже почитал что там удобнее, но ни разу такой БД не пользовался. Почитаю, надо взвесить стоит ли переход того smile.gif

Спасибо за наводку))
Быстрый ответ:

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