php - 购物车 - 存储在 session 中?

标签 php shopping-cart

我正在为一个网站开发购物车,并且想知道在用户单击“添加到购物车”后我应该以什么方式存储产品 ID。

我应该将它们存储在 session 中——例如

$_SESSION['cart'][$productid]++;

这会给负载下的服务器带来压力吗?或者这是最好的方法吗?

或者我应该创建一个临时数据库表,将信息存储在其中,并在处理订单后删除?

最佳答案

我肯定会将它们存储在数据库中,但不会每次都创建临时表。我建议您保留一个包含所有未完成订单以及用户标识符的表。

这将持续比 session 更长的时间,所有这些都将在用户注销后保留,并在用户再次登录后可用。当用户登录时,将其标识符保留在 session 中。

编辑:虽然连接到数据库确实消耗资源,但这就是数据库服务器的用途。与小表的连接几乎没有任何用途 - 我的意思是,您可能正在执行大量查询,只是显示您的购物车。如果您的网站无法处理由于在小表中保存奇数行而产生的额外压力,您将从销售中获得足够的钱来购买更大的服务器:)

关于php - 购物车 - 存储在 session 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11738230/

相关文章:

xml - USPS api - 使用curl和codeigniter

php - 当 Woocommerce 购物车为空时向元素添加 CSS 类

PHP MySQL 如何在 fetch_assoc 之后将列/字段名称设置为变量

php - 用其他表值更新表

php - 连接不同数据库上的表,同时绑定(bind)值

mysql - 如何在mysql中为产品添加类别

javascript - 当我路由到该组件时,如何将 vuejs 数组发送到另一个组件而不丢失数组数据?

php - 如何在产品列表页面显示 “Minimum Qty Allowed in Shopping Cart"

php - 通过搜索关键字查找用户并返回结果与共同 friend 的订单

java - HTTPClient代码中的CURL命令