首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跟踪访问者最后一次查看的项目

跟踪访问者最后一次查看的项目
EN

Stack Overflow用户
提问于 2012-04-07 23:53:53
回答 1查看 360关注 0票数 1

我有一个使用Codeigniter创建的AJAX版列表网页,我希望注册用户能够区分他们以前看过的列表。

当前的尝试:在单击清单时,将清单id发送给服务器端PHP,它将(使用INSERT... ON DUPLICATE KEY UPDATE) listing_iduser_idview_timestamp插入到一个表中,其中包含自动增量的viewed_id。每次访问者进行新的搜索时,所有listing_id和他的user_id都会通过.getJSON()从MySQL表中检索,并且通过一个循环,这些先前查看过的清单的CSS将被更改。

我的问题是这种方法是否涉及到服务器上太多的工作。

如果使用Codeigniter自动保存到数据库中的serialized?

  • Should是
  1. ,那么每个用户都会有一行更好的listing_id吗?当用户查看instead?
  2. Insert时,可以通过AJAX查看新的清单。但是,如果cookie不包含所有已查看的清单id,则只检索一次查看列表的id,否则,将新查看的列表发送到要插入的服务器后,列表id也会插入到cookie中。这样,在进行新的搜索之后,就不需要继续查询数据库中查看的清单is的整个列表.

注意:对于先前查看过的清单的listing_id的AJAX请求数量的估计,一般用户每20秒进行一次新的搜索。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-08 10:06:08

对于这种功能,我不会涉及数据库,而是考虑客户端解决方案,比如使用localStorage存储Json数据,或者如果您想要更广泛的浏览器支持(或者需要从php代码存储它,而不能从javascript存储它)。如果您必须将这些信息存储在数据库中,我仍然会查看解决方案,以尽可能多地缓存客户端上的信息,就像您在第3点中描述的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10059333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档