Корзина для покупок codeigniter в магазине

#php #mysql #session #codeigniter

#php #mysql #сессия #codeigniter

Вопрос:

Я уже закончил создание корзины покупок в codeigniter, используя класс корзины покупок. но данные были сохранены в сеансе в массиве, тогда я хочу сохранить массив сеанса в базе данных user_ordered. с идентификатором пользователя, идентификатором продукта, количеством. или другие значения.

Комментарии:

1. Я не могу точно сказать, о чем вы здесь спрашиваете… Не могли бы вы немного уточнить?

2. Вы уже пробовали что-нибудь, например, чтение $this->cart->contents() ? Можете ли вы сформулировать это в форме вопроса и объяснить реальную проблему, что именно вы пытаетесь сделать, какие идеи и / или код вы пробовали, если таковые имеются ?… Это должно происходить каждый раз, когда товар добавляется или только при оформлении заказа?

3. когда пользователь собирается оформить заказ, я хочу сохранить в базе данных.

Ответ №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 будет хранить данные сеанса в БД.

Убедитесь, что вы также указали имя таблицы в своем конфигурационном файле:

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

Те же инструкции можно найти в документации codeigniter.