Принципы посторения корзины(интернет-магазин).

  • Автор темы Автор темы regi
  • Дата начала Дата начала

regi

Новичок
Принципы посторения корзины(интернет-магазин).

Как лучше организовать корзину?
Заказанные товары хранить в сессии или в mysql?
Какие данные о товаре хранить?
Как сделать пересчет цены(я сделал с mysql, но при нажатии пересчитать в текстовом поле появляется старое число товаров, я примерно представляю, как это решить, но слишком громоздко появляется)
Посмотрел в поиске, и как то не нашел ответа.
 
лучше в базе хранить
id | session | product | qty | price | date
и написать 5-6 функций для работы
 
id | session | product | qty | price | date
а поподробней можно?

id это id покупателя? а если чел не зарегистрен?
session это, видимо, для очистки брошенной корзины?
date это что и для чего?
 
очень хреново с нормализацией данных в вашей корзине...
 
предложите свой вариант - мы с большим удовольствием послушаем
 
(1) session_id | timestamp
создается в момент необходимости создания сессии,
т.е. при первом событии связанным с таблицей (2) или (3)

(2) session_id | product_id | qty | price
создается в момент выбора товара в корзину

(3) session_id | customer_id
создается в момент регистрации/аутентификации пользователя

события, связанные со второй и третьей таблицей асинхронны
 
нормализация на спичках.
третья таблица не нужна вовсе.
первая - разве что, для нормализации.
А мне, например, интересна история заказов, с расписанием по времени.
собственно, ид сессии нигде не нужен - достаточно ид клиента.
 
в 3й таблице храняться заказы клиентов для того, чтобы хранить дату заказа, достаточно добавить поле даты в таблицу (3)

для того чтобы "зафиксировать" новый оформленный заказ
достаточно удалить запись из (1) таблицы
 
id клиента подразумевает под собой необходимость регистрации. Не всем нравится заполнять анкеты. Надо дать возможность человеку просто оставить контактную информацию и заказать выбранный товар без логинов паролей. imho.
 
Товарищ болен тяжелой болезнью под названием "растянем сессию, как резинку от трусов" и путает сессии с базами данных. С осложнениями в виде представлений о собственной гениальности.
Неоперабелен.

-~{}~ 15.09.04 22:15:

SergeR
ничего оно не подразумевает
 
Мне кажется, если есть желания хранить не оформленные заказы для не зарегистрированных пользователей, то придется связывать id заказа в БД с id юзера хранящейся в куке (не сессионной). Но тогда нужно всеравно установить предел для таких возможных заказов по сроку давности.

Во время шляния по магазину карзину хранить проще в сессии сделав один sql запрос (даже для не зарегистрированных посетителей), а кука с id поситителя не сессионная пусть остается как якорь до регистрации посетителя и даже дальше.

Пересчет стоит делать для карзины на момент ее вывода на странице.
 
Товарищ раздолбай, убедительная просьба, если нечего сказать по теме не переходить на оскорбления.
 
Сверху