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

Kam*_*mil 2 php mysql codeigniter

我需要帮助处理我的Web应用程序中的订单和购物车.

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

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

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

我试着看看在PrestaShop中如何实现购物车/订单功能,但对于我来说,它看起来太复杂了,即业余的PHP程序员.

Pan*_*nar 10

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

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

$cartContentString = serialize($this->cart->contents());
Run Code Online (Sandbox Code Playgroud)

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

$cartArray = unserialize($cartContentString);
Run Code Online (Sandbox Code Playgroud)

  • 关于数据库序列化数据的非常有用的提示.谢谢. (2认同)