Codeigniter Cart - 在数据库中保存数据 - 如何处理?

时间:2012-11-29 03:31:48

标签: php mysql codeigniter

我需要帮助处理我的网络应用程序中的订单和购物车。

我决定使用Codeigniter 2中内置的Cart库。

我已经看过一些关于Cart库的教程,我知道如何使用它,但我不知道:

  • 何时在数据库中创建/保存该订单?当用户将商品添加到购物车时,或者我将所有订单数据保存在会话中并且"移动"当用户接受订单时它会做数据库吗?
  • 我应该在数据库中存储会话ID还是其他东西?

我试图了解PrestaShop中如何实现购物车/订单功能,但对于我来说,这对我来说太复杂了,即业余的PHP程序员。

1 个答案:

答案 0 :(得分:9)

使用购物车的理想和好方法是将其保持在会话中,codeigniter的购物车类正在做同样的事情,当用户给出订单时,使用此数据将此订单放入数据库并执行其他操作,如支付网关,运输。  如果你想使用用户在下一个会话中保留他的订单,比如如果用户在购物车中添加了一些产品并且他在下订单之前退出并且他是注册用户,那么你可以每次在数据库中保存他的购物车,这样如果他没有下订单就离开了,下次登录时可以告诉他他的命令。

您可以使用购物车类的$this->cart->contents();方法将用户购物车数据存储在数据库中。 像这样使用

$cartContentString = serialize($this->cart->contents());

您将获得一系列购物车内容,您可以将此字符串保存在数据库中,然后再将其用作

$cartArray = unserialize($cartContentString);