我在一个网站上工作,用户可以在该网站上提交照片,这些照片可以在页面上一张一张地查看。
还有另一个页面,您可以在其中看到多张照片的较小版本。
当用户单击这些较小的照片中的任何一张时,他们会进入大版本页面,按“下一步”会将他们带到该类别中的另一张照片。
我非常希望较新的照片优先于较旧的照片。
我的想法是,当用户点击下一步时,他会被带到最新的照片,然后从那里移动下一步将使用户向后浏览所有新照片。
问题是,当用户离开单个照片页面,返回到多个缩略图页面,然后点击那里的另一张照片时,用户将在点击下一步时开始看到相同的新照片。
我想确保用户不会看到同一张照片。我考虑过为每个访问者放置一个唯一的 cookie,然后当用户访问照片时,我将其记录在访问表中。当从数据库中为“下一步”选择新照片时,我确保用户之前没有访问过该照片。
我(过早地)担心这会对数据库负载产生什么影响。
关于执行此操作的最佳方法或替代方法有什么想法吗?
编辑:
可能不够清楚,很短的版本:我想确保在循环浏览图片时没有重复的内容。最好是延长时间,而不仅仅是一个 session 。
编辑 2:
这就是我目前正在考虑做的事情。看起来不错?我把它放在一起(字面意思是,电源在 5 分钟内关闭以进行维修,我明天必须回来,希望这是有道理的)。
(来源:googlepages.com)
最佳答案
当“图像查看器”关闭时,您可以简单地存储开始 ID(用户看到的第一张照片)和用户最后看到的照片的 ID。
当用户回来时,您可以简单地检查是否有更新的照片被添加,如果是,则首先显示这些照片,直到您到达用户首先看到的图像的 ID(存储在 cookie 或数据库中)。然后直接跳到用户最后看到的图像的 ID,然后从那里继续。
这不会在 cookies/session 或数据库上产生巨大的开销.. 而且它基本上是万无一失的.. 至少相对准确,直到你必须解决问题的某个点;如果用户停在一系列照片的中间怎么办?显然,您可以存储一系列 ID。
像这样的大量解决方案。想想'聪明'。并考虑对精度的需求。如果您将每张访问过的照片都记录在数据库中,您将准确地记住用户看到的内容,但性能很可能会下降(我可以向您保证,随着时间的推移会急剧下降)。如果您喜欢性能,而且我相信您的用户会喜欢,那么我建议您看一下可能不太准确(如上所述)但尊重性能的解决方案。
关于php - 确保相册内容新鲜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/774830/