存储购物车的临时数据

时间:2009-11-19 05:29:51

标签: php mysql shopping-cart

我正在为我的网站制作购物车。

哪种解决方案更好,将数据存储在会话中或将数据存储在表中?如果我将它存储在表格中,我将如何以及何时删除表格中的记录(即,当用户没有购买但在表格中时)

4 个答案:

答案 0 :(得分:2)

偏好问题。两者都是合理的。数据库使您能够分析即将购买或至少排队等待客户感兴趣的数据,这些数据通常非常有效,因为您对产品表现出浓厚的兴趣,并且很多时候数据未被删除,只是过期日期或至少会话ID作为表格中的属性。

根据数据库方法,如果您确实要删除它,则可以轻松清除,您可以每天或每周在cron或其他预定作业中运行,以删除所有已过期的记录。

答案 1 :(得分:2)

取决于你想做什么。

usal解决方案使用$_SESSION,此解决方案易于实施,不会影响您网站的性能。

数据库会话很好,因为没有超时,而且更可靠。

我想说,如果你的价格标签价格昂贵,那么建立一个数据库会话会更好,因为用户通常会花更多的时间去思考他花的时间> $ 10,000。

对于普通产品,SESSION解决方案很好。

答案 2 :(得分:2)

我在具体情况下所做的是将信息存储在 CartOrder 表中。状态为'待定'。完成该过程后,我将信息插入Order表中,并将 CartOrder 标记为已完成(或删除它)。对我来说, CartOrder 是购买的意图,订单是购买本身。

如果您不删除CartOrder并不重要,您可以在以后使用它(看看亚马逊或其他网站如何保留您的上一个购物车,即使您没有完成购买)。这也很好地跟踪有多少用户进入网站,环顾四周,启动购物车但没有完成购买。用户喜欢这个。

答案 3 :(得分:1)

从亚马逊获取提示,将数据存储在数据库中,永远不要将其删除。

您从购物车中的商品中获得多少价值?存放购物车内容需要多少钱?如果有人放弃购物车,一年后又回到您的网站,他们可能仍然想要购物车中的商品。