使用ajax从数据库中挑选数据并保存最后一个选中的数据

时间:2012-04-07 16:34:54

标签: php mysql ajax codeigniter

我使用ajax从我的mysql表中每隔10秒选择一个随机行。

问题是我想阻止两次选择相同的行(逐个)。我可以使用会话来保留最后选择的行ID,但我希望它是服务器端。

我也可以使用上次选择unix时间将更新查询发送到数据库,但我想防止服务器过载,我关心性能......所以这个想法并不好。

由于您可以获得更多与表现相关的经验,我想就您提出一些有关上述问题的想法。提前谢谢你们。

//我已经放置了codeigniter标记,因为这个问题对于这个问题可能很重要。

1 个答案:

答案 0 :(得分:1)

我认为将最后选择的记录ID存储在服务器端的用户会话中是最佳解决方案。通过这种方式,您可以获取该用户的最后一个选定ID,并将其从查询中排除。

如果您打算创建一个包含最后一个选定ID的额外数据库表,请记住您的站点可能有多个并发访问者,因此您必须为每个访问者存储最后选择的ID,假设ID不得唯一。

如果每个访问者必须同时看到相同的ID,前一段中的想法可能是一个可能的解决方案,或者甚至在需要查询的表中添加一个布尔字段并将其设置为true以用于当前所有其他的记录和虚假。您必须在查询中使用时间戳,以确保每隔10秒钟只返回一个与最后一个不同的新唯一记录。