因此,我创建了一个名为“cart”的数据库表,最初我打算通过“cartID”使其变得更容易,“cartID”是当用户将另一个商品添加到购物车时自动递增的字段之一。但是,我意识到,随着要为单个购物车添加更多商品,我必然会有很多行记录。有没有更简单的方法来显示一个购物车中的信息?
这是我的“购物车”表的示例大纲:
cartID | memberID | itemID | shopID | cartQuant | cartDetail | added
------------------------------------------------------------------------
1 | 1 | 1 | 1 | 13 | Size: XS | 3/12/2018
2 | 1 | 2 | 1 | 2 | Size: XL | 3/12/2018
...
如您所见,“cartID”包含由“memberID”为 1 添加到购物车的商品。但是,如果“cartID”类似于我“交易”中的“orderID”,那就更好了' 表,以便订单知道它正在查看哪个购物车。另外,“shopID”是为了更好地定位商品(如排序),以便我首先显示所有“shopID”。我用 ORDER BY shopID 做到了这一点。
任何帮助将不胜感激,我只是在寻找一种更有效的方式来显示和组织购物车项目。
最佳答案
最近我找到了管理购物车、客户和购物车上的产品的最佳方法之一。
所以你需要 5 张 table 之类的东西。第一个表是您的客户表:
customerID | customerName | customerEmail | ....
-------------------------------------------------
INT (INCR) | VARCHAR(200) | VARCHAR (200) | ....
其次,您有包含商店的商店表:
shopID | shopName | etc....
----------------------------
INT (INCR)| VARCHAR | etc ....
然后您将获得包含所有可用产品的产品表:
productID | productName | ProductDescription | etc....
------------------------------------------------------
INT (INCR)| VARCHAR . | TEXT | etc...
购物车 table 非常短,但可以很容易地扩展,直到满足您的需求:
cartID | customerID | DatePlaced
------------------------------------------------
INT (INCR)| INT (From customerTable)| DATETIME
所以现在您并没有真正将产品直接添加到购物车表中,您将需要一个包含购物车产品的表。 CartDetail 表:
cartDetailID | cartID | shopID | productID | Quantity | dateAdd
----------------------------------------------------------------
INT (INCREMENT)| INT | INT | INT | INT | DATETIME
这里的 cartID 可以重复,您的表格将如下所示:
cartDetailID | cartID | shopID | productID | Quantity | dateAdd
----------------------------------------------------------------
0 | 15 | 1 | 253 | 3 | 2018-08-03 09:43:17
1 | 15 | 1 | 255 | 1 | 2018-08-03 09:43:17
然后,您需要做的就是形成一个将所有这些表绑定(bind)在一起的查询,并获取所有表的正确值。这样创建数据库可以为您提供足够的空间来扩展它,即使对于不同的语言和不同的商店也是如此。希望这会有所帮助
关于php - 用 MySQL 制作购物车表的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49250955/