Php 使用MYSQL链接表允许products表中的多个选项
我正在创建一个购物篮类,希望产品有一个未设置的数量的选择,例如颜色,大小等 我知道我应该使用多个表来存放期权数据,但不知道如何操作。这是我目前的桌子结构Php 使用MYSQL链接表允许products表中的多个选项,php,mysql,database,Php,Mysql,Database,我正在创建一个购物篮类,希望产品有一个未设置的数量的选择,例如颜色,大小等 我知道我应该使用多个表来存放期权数据,但不知道如何操作。这是我目前的桌子结构 CREATE TABLE IF NOT EXISTS options ( ID varchar(40) PRIMARY KEY, Option int, Value varchar(100), Cost decimal(10,2) ); CREATE TABLE
CREATE TABLE IF NOT EXISTS options (
ID varchar(40) PRIMARY KEY,
Option int,
Value varchar(100),
Cost decimal(10,2)
);
CREATE TABLE IF NOT EXISTS products (
ID int PRIMARY KEY AUTO_INCREMENT,
Title varchar(200),
Description text,
Specification text,
Price decimal(10,2),
CategoryID int,
Weight int,
OptionID int,
Discount int(2),
Featured boolean,
Images text,
Stock int,
Related text,
Offer boolean,
OfferDetails text,
Language int
);
CREATE TABLE IF NOT EXISTS basket (
`ID` int(11) PRIMARY KEY AUTO_INCREMENT,
`ProductID` int(11),
`Quantity` int(11),
`OptionID` int(11),
`Cookie` varchar(40)
);
我想将所有选项存储在选项表中,并通过一个唯一的ID将它们链接到产品
我猜当用户选择一个选项时,我需要另一个表来存储信息。然后使用此表从中获取选择选项数据,以输出到篮子
此外,我需要能够看到相同的产品,即相同的选项和productID是否已经在篮子中,这样我就可以简单地更新数量,而不是添加新行
我可以通过使用大量for循环和query来实现这一点,但我确实想限制这一点
对不起,如果不清楚
提前谢谢我想你们还有一张桌子给顾客。这些选项适用于产品。您可以为每个产品提供一个或多个选项。这是一种多对一的关系。您可以为每个用户提供多个产品,这也是一种多对一关系。你可以(应该?)打破这些关系 此表(例如称之为
purchase
)将包含与以下内容相对应的列(至少):
您可能会看到,最初的问题是可能有0个或更多选项。为此,您需要另一个表(例如称之为optSel
)。这将有对应于以下内容的列(至少):
然后,当选择一个选项时,它可以被抛出到optSel
表中。稍后可以通过连接轻松访问此项。这将选项链接到用户和产品。当然,你可以把它分成不同的部分,这只是一种技术的一个例子
primary key,
customer ID,
product ID
amongst other things.
purchase table primary key,
option id,
and other things.