Как добавить функциональность «Недавно посещенные продукты» на веб-сайте электронной коммерции? - PullRequest
4 голосов
/ 06 июля 2011

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

Я использую PHP, MySQL, Apache HTTP на сервере Windows.

Спасибо !!

Ответы [ 3 ]

2 голосов
/ 06 июля 2011

Вы можете использовать базу данных или куки. Этот метод базы данных будет сохраняться даже после того, как пользователи очистят свои куки браузера:

Создайте таблицу в вашей базе данных примерно так:

userid,
productid,
viewdate TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Всякий раз, когда посетитель просматривает продукт, вы просто вставляете в базу данных строку, идентифицирующую пользователя, продукт и отметку времени его посещения.

-- Insert
INSERT INTO recentlyviewed (userid, productid) VALUES (userid, productid);

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

-- Cleanup old records after 14 days
DELETE FROM recentlyviewed WHERE viewdate < DATE_ADD(NOW(), INTERVAL -14 DAY);
1 голос
/ 06 июля 2011

Есть два способа сделать это.

  1. Вы можете сохранить, какие продукты они просматривали, в cookie-файле.
  2. Вы можете сохранить их session_id в базе данных, а затем сохранить там просмотренные продукты, связанные с session_id.

Я думаю, что второй вариант лучше, так как вы можете использовать эти данные, чтобы создать своего рода "людей, которые просматривали этот продукт, также просматривающих этот", как у Amazon

0 голосов
/ 06 июля 2011

Вот как я это сделаю, вы создадите таблицу, подобную этой:

CREATE TABLE views(
id bigint not null auto_increment,
user_id bigint not null,
product_id bigint not null,
primary key(id)
)

И каждый раз, когда пользователь просматривает продукт, вы сохраняете здесь идентификатор пользователя и идентификатор продукта. Затем с помощью простого запроса выбора можно получить последние 10 продуктов, которые просмотрел пользователь, а также получить количество просмотров для одного продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...