Система размещения заказов и Multi-table entry - PullRequest
0 голосов
/ 22 марта 2011

Я делаю этот проект, который состоит из нескольких модулей из ERP, использующих PHP / MySQL (платформа codeigniter).

Я не уверен, как мне следует интегрировать функции механизма размещения заказов (и других зависящих от нескольких таблиц) функций. Например. Заказ клиента управляется двумя таблицами MySQL (Order и Order-Detail). В таблицах заказов хранится общая информация о заказе, а в Order-Detail - информация о заказанном продукте (количество и т. Д.), Поскольку в заказе может быть заказано более одного продукта.

Итак, мои вопросы:

  • Как эта вещь в основном реализована (логика за ней)?

  • Как это называется на отраслевом жаргоне (так что я могу поискать готовые библиотеки JavaScript / AJAX или PHP или фрагменты кода)?

Ответы [ 2 ]

1 голос
/ 26 марта 2011
1 голос
/ 22 марта 2011

Термин для этого - реляционные базы данных

Вы можете добиться построения реляционной базы данных, используя либо сам mysql, используя управляемые таблицы innoDB.

Логика этого заключается в следующем (в вашемcase)

У вас есть 3 таблицы: - Пользователи (с идентификатором пользователя, именем пользователя, паролем пользователя и т. д.) - PlacedOrders (с помощью orderid, userid, productid) - OrdersDetails (с помощью orderid, productid, orderdate, ammount и т. д.)) - Продукты (с productid, productname, productweith и т. Д.)

Здесь все имена «... id» являются первичными ключами

Для пользователей первичный идентификатор - это идентификатор пользователя.id - это orderid и т. д.

Но в некоторых таблицах также есть другой '..id', который является основным идентификатором из другой таблицы.аналогично идентификатору пользователя в таблице. Расположение идентификаторов является основным идентификатором пользователей. Эти идентификаторы называются иностранными

. Эти внешние идентификаторы связаны друг с другом.

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

Это предотвращает избыточность и может повысить эффективность базы данных, когда у вас много данных.

Еще один совет о том, как это будетиспользуется на веб-сайте: пользователь сначала входит в систему, используя данные пользователей таблицы.Затем он переходит на страницу продукта и выбирает продукт и сумму, которую он хочет заказать.

Теперь при оформлении заказа будет сделан заказ внутри детали заказа, и все переменные (orderid, productid и userid) будутобъединяться в размещенные заказы

Теперь для пользователя это не улучшение.

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

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

Теперь с помощью некоторых удобных сценариев вы можете легко получить соответствующие данные о продукте, пользователе и заказе и разместить их на одной странице, пока у вас нет всего в одной большой грязной базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...