我有一个使用Codeigniter创建的非常AJAX-ish列表网页,我希望注册用户能够区分他们之前查看过的列表。
当前尝试:点击列表后,列表ID将$.post()
发送到服务器端PHP,后者插入{使用INSERT... ON DUPLICATE KEY UPDATE
} listing_id
, user_id
,view_timestamp
放入自动增量为viewed_id
的表格中。每次访问者进行新搜索时,都会通过listing_id
从MySQL表中检索所有user_id
及其.getJSON()
,并通过循环,更改这些以前查看的列表的CSS。
我的意思是这种方法是否涉及服务器上的太多工作。
listing_id
是否已序列化?注意:对于先前查看的列表的listing_id的AJAX请求数量的估计,普通用户将每20秒进行一次新的搜索。
答案 0 :(得分:0)
对于这种功能而言,我不会涉及数据库,而是查看客户端解决方案,例如使用localStorage存储Json数据,或者如果您想要更广泛的浏览器支持(或者需要从PHP代码,不能从javascript)。如果你必须将这些信息存储在你的数据库中,我仍然会看到尽可能多地在客户端缓存信息的解决方案,就像你在第3点中所描述的那样。