@danila_prokopenko

Как лучше реализовать корзину для магазина?

Вопрос такой, как лучше реализовать корзину в проекте, но чтобы он был приближен к реальзности? Делать для этого отдельную таблицу в бд или исопльзовать сессии?
Следующий вопрос, для тупых, не шарящих в пхп на среднем уровне, как сделать идентификацию пользователя и корзины из бд? как будет создаваться новая корзина с привязкой к id_пользователя?
  • Вопрос задан
  • 472 просмотра
Пригласить эксперта
Ответы на вопрос 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
На все эти вопросы легко ответить самостоятельно, если просто немного подумать.
Никакое знание РНР тут не требуется - только здравый смысл и минимальное понимание принципа работы веб-сайта.

Обычно для анрегов корзина делается в сессии, а для регов - в базе.
При логине и наличии корзины в сессии, содержимое мержится с корзиной в базе. То есть такого вопроса "как сделать идентификацию" в принципе не возникает - все делается само собой. Когда юзер авторизовался, у нас есть и его ид, и сессиия. Что тут может быть не ясно?
Ответ написан
Комментировать
@qid00000000
Мало что знаю, но информацию найду в гугле
Давай предположим, что корзина основана на бд. Тебе понадобиться как минимум идентифицировать пользователя (самый простой способ, в качестве идентификатора использовать сессию). В таблице, тебе нужны поля : id товара и количество (минимум).
А теперь представь, что кто-то добавил в корзину товар и вышел - не очень хорошо, нужно очищать старые записи (добавляем поле со временем добавления записи и создаём задание на удаление).

Просто, не правда ли :) (сарказм).
А теперь представь, что сессии упрощают все выше. И тебе не нужно париться с очищением заказов.
Решить проблему с блокировкой файла сессий можно настроив их хранение в redis.

Сессии - палка о двух концах, когда нужно хранить немного данных, некоторое время - идеальный инструмент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы