我正在开发一个销售各种产品的电子商务网站(网上购物)。我想向用户显示用户最近浏览过的产品列表。你能帮助我实现这个目标吗?
我在Windows服务器上使用PHP,MySQL,Apache HTTP。
谢谢!
答案 0 :(得分:2)
您可以使用数据库或cookie。即使用户清除了浏览器cookie,此数据库方法仍将保留:
在数据库中创建一个表格,如:
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 :(得分:1)
我能想到的有两种方法可以做到这一点。
我认为第二种选择更好,因为你可以使用这些数据来创建某种“看过这个产品的人也像亚马逊那样查看这个”
答案 2 :(得分:0)
我会这样做,你创建一个这样的表:
CREATE TABLE views(
id bigint not null auto_increment,
user_id bigint not null,
product_id bigint not null,
primary key(id)
)
每次用户查看产品时,都会在此处保存用户的ID和产品ID。然后,您可以使用简单的选择查询获取用户查看过的最新10种产品,并获取单个产品的查看次数。