php - 用 MySQL 制作购物车表的更好方法?

标签 php mysql

因此,我创建了一个名为“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/

相关文章:

php - GUI MySQL 数据库前端

php - 将相同的数组键推到它旁边

php - 如何隐藏 native php 中我网站上链接的其他网站的链接

php - 连接查询中的列以使用 'LIKE' 运算符

php - PHP 中使用外键的 ORM 设计

php - 跨 Azure Cosmos 中的多个集合查询记录

php - 在 foreach() 迭代期间修改数组

javascript - 似乎无法找到 jQuery $.post 的解决方案

php - 加入两个表,然后按日期排序,但合并两个表

php - 保护数据安全的最佳方式 PHP + MYSQL