Сообщение от melst
|
А что есть корзина?
|
Корзину, ее код, будет определять в том числе и способ добавления товара: по количеству - либо по одному одного товара, либо можно добавлять несколько одного и того же товара, по групповому/одиночному добавлению - либо можно выбрать группу различных товаров в категории на странице, либо только один товар.
Структура массива корзины должна быть такова, чтобы удобно было просчитать общее количество товаров и их общую стоимость, это нужно для краткого представления корзины.
Добавление товара в корзину начинается с запроса в базу - существует ли вообще такой товар, и если да, только затем пишется в сессию, в корзину, вернув в запросе цену товара, можно и другие важные характеристики, например наименование и т.п, чтобы по полном отображении корзины не делать более запросов в базу.
Если ли такой товар в корзине или нет, это вопрос резиновый, ибо если есть еще не означает, что отказать в доступе к корзине, ведь у товара может просто изменяться количество товаров в ней. А вот исключить из запроса клиента идентификаторы товаров которые уже есть в корзине надо, и если в запросе остались после этого ключи, значит это добавляемые товары, и по ним делается запрос в базу.