Xwab
Форумыnavigate_nextПрограммирование на PHP

Корзина покупок (магазин)
Сообщения
JESOD

Доброго времени суток!
Есть задача: сделать на сайте Корзину покупок, с использованием куков.
Вот не могу продумать хороший алгоритм хранения информации. Конечно, если хранить только к примеру ИДы товаров: 12 2 5 32
И потом уже без проблем разбиваешь и работаешь с каждым товаров. Это я храню на данном этапе все в одной печеньке: products
Т.е. если печеньки ещё нет, то создаю, а если есть до дописываю через пробел ИД ещё одного товара.

Но как решить задачу, если нужно к примеру ещё и количество одного и того же товара изменить, к примеру по 5 штук каждого товара.
Решение пришло в голову: 12|5 2|5 5|5 32|5
Т.е. через | указывать количество и так же хранить в печеньке. Но кажется это бредовая идея. Может у кого то есть мысли?

13 Мар 2011, 19:29
Default_mo

бред.

13 Мар 2011, 19:34
JESOD

Default_mo, Если думаешь иначе, то пожалуйста, можешь высказать, а то офф-топ плохо разводить.

13 Мар 2011, 19:38
Default_mo

хранить в куках список покупок - бред.

13 Мар 2011, 19:41
VADIA

JESOD, может лучше в бд хранить чем в куках?

13 Мар 2011, 19:41
spamboo

JESOD, создай таблицу
там ид это ид юзера
его покупки
цена

13 Мар 2011, 19:44
mazaHELL

хранить в сессии, массив примерно такой
$_SESSION['tovar']['ид товара'] = кол-во;
потом простой разбор через foreach()

13 Мар 2011, 19:49
JESOD

Default_mo, VADIA, корзина покупок - она и не для зарегистрированных.
добавлено спустя 31 секунду:
mazaHELL, и + количество.

13 Мар 2011, 20:04
Fashion

mazaHELL, сессия имеет свойство умирать.
// наверное верный способ: хранить в куке id или уникальный хеш из таблицы cart, а в ней уже хранить список товаров

13 Мар 2011, 20:05
mazaHELL

Fashion, я не думаю что пользователь пришел, сделал заказ в корзину, ушел на месяц гулять.....потом пришел и купил

Потерял сессию, пускай снова корину собирает

а хранить лучше как я писал выше, пример:

$_SESSION['korzina']['45'] =1;
$_SESSION['korzina']['23'] =5;
$_SESSION['korzina']['5'] =1;
$_SESSION['korzina']['3'] =2;

Обработать такой массив проще простого


__________
посл.ред. 13 Мар 2011, 20:09; всего 1 раз 13 Мар 2011, 20:07
Ответить на тему