【问题标题】:Store codeigniter shopping cart商店 codeigniter 购物车
【发布时间】:2011-12-04 23:44:23
【问题描述】:

我已经使用购物车类在 codeigniter 中完成了购物车的创建。但是数据存储在数组中的会话中,然后我想将会话数组存储在数据库 user_ordered 中。带有用户 ID、产品 ID、数量。或其他值。

【问题讨论】:

  • 我真的不知道你在这里问什么......你能详细说明一下吗?
  • 你有没有尝试过什么,比如阅读$this->cart->contents()?你能以问题的形式提出这个问题并解释实际的问题,你想要做什么,你尝试过什么想法和/或代码(如果有的话)?......这应该在每次一个项目时发生吗?是添加还是仅在结帐时添加?
  • 当用户结帐时我想保存在数据库中。

标签: php mysql session codeigniter


【解决方案1】:

您可以使用 codeIgniter 轻松地将会话数组存储在数据库中。为了存储会话,您必须首先为此创建一个数据库表。这是会话类所需的基本原型(用于 MySQL):

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(45) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);

默认情况下,该表名为ci_sessions,但只要更新application/config/config.php 文件使其包含您选择的名称,您就可以将其命名为任何您想要的名称。创建数据库表后,您可以在 config.php 文件中启用数据库选项,如下所示:

$config['sess_use_database'] = TRUE;

一旦启用,Session 类会将会话数据存储在 DB 中。

确保您在配置文件中也指定了表名:

$config['sess_table_name'] = 'ci_sessions';

可以在codeigniter documentation.中找到相同的说明

【讨论】: