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

regi

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

Как лучше организовать корзину?
Заказанные товары хранить в сессии или в mysql?
Какие данные о товаре хранить?
Как сделать пересчет цены(я сделал с mysql, но при нажатии пересчитать в текстовом поле появляется старое число товаров, я примерно представляю, как это решить, но слишком громоздко появляется)
Посмотрел в поиске, и как то не нашел ответа.
 

Romantik

TeaM PHPClub
лучше в базе хранить
id | session | product | qty | price | date
и написать 5-6 функций для работы
 

Orlis

Guest
id | session | product | qty | price | date
а поподробней можно?

id это id покупателя? а если чел не зарегистрен?
session это, видимо, для очистки брошенной корзины?
date это что и для чего?
 

Orlis

Guest
очень хреново с нормализацией данных в вашей корзине...
 

Фанат

oncle terrible
Команда форума
предложите свой вариант - мы с большим удовольствием послушаем
 

Orlis

Guest
(1) session_id | timestamp
создается в момент необходимости создания сессии,
т.е. при первом событии связанным с таблицей (2) или (3)

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

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

события, связанные со второй и третьей таблицей асинхронны
 

Фанат

oncle terrible
Команда форума
нормализация на спичках.
третья таблица не нужна вовсе.
первая - разве что, для нормализации.
А мне, например, интересна история заказов, с расписанием по времени.
собственно, ид сессии нигде не нужен - достаточно ид клиента.
 

Orlis

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

для того чтобы "зафиксировать" новый оформленный заказ
достаточно удалить запись из (1) таблицы
 

SergeR

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

Фанат

oncle terrible
Команда форума
Товарищ болен тяжелой болезнью под названием "растянем сессию, как резинку от трусов" и путает сессии с базами данных. С осложнениями в виде представлений о собственной гениальности.
Неоперабелен.

-~{}~ 15.09.04 22:15:

SergeR
ничего оно не подразумевает
 

jonjonson

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

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

Пересчет стоит делать для карзины на момент ее вывода на странице.
 

Orlis

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