我正在开发一个销售各种产品的电子商务网站(网上购物).我想向用户显示用户最近浏览过的产品列表.你能帮助我实现这个目标吗?
我在Windows服务器上使用PHP,MysqL,Apache HTTP.
谢谢!!
解决方法:
您可以使用数据库或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);