Php 随机结果显示

Php 随机结果显示,php,Php,我在一个匹配用户的网站上工作,就像任何约会网站一样。除此之外,我希望用户匹配项一次随机显示一个。他们只需单击“下一步”,直到遇到他们喜欢的结果。我知道如何以列表的形式查询结果,但是我需要使用什么样的代码来随机显示他们的比赛档案,随机选择(基于比赛分数),一次一个?我正在使用PHP。谢谢如果你能告诉我该查什么,那就太好了 我想您有一个“复杂”的mysql请求。。您只需添加一个ORDER BY RAND(),并使用ajax处理该列表即可。 或 这是最简单但效率最低的方法。每次他们单击“下一步”时重新

我在一个匹配用户的网站上工作,就像任何约会网站一样。除此之外,我希望用户匹配项一次随机显示一个。他们只需单击“下一步”,直到遇到他们喜欢的结果。我知道如何以列表的形式查询结果,但是我需要使用什么样的代码来随机显示他们的比赛档案,随机选择(基于比赛分数),一次一个?我正在使用PHP。谢谢如果你能告诉我该查什么,那就太好了

我想您有一个“复杂”的mysql请求。。您只需添加一个
ORDER BY RAND()
,并使用ajax处理该列表即可。


这是最简单但效率最低的方法。每次他们单击“下一步”时重新运行查询,您将获得一个随机的匹配项。请注意,这不会阻止出现重复项,如果匹配项很少,则很可能会出现重复项。

您不应使用mysql的
ORDER BY RAND()
子句,因为该子句速度较慢,最好这样做:

  • 从配置文件中选择最大(id)
  • 从profile.id=mt_rand(0,MAX_id)的配置文件中选择profile.*

  • 性能会更好

    你能给我们一些关于数据库的见解吗?我使用的是mySQL,你想要表结构吗?我假设你在数据库中存储“匹配分数”,你能让它更具体一些吗根据马赫数随机选择,你的确切意思是什么。分数不是存储的,而是创建的。当查询运行时,它会搜索所有用户。用户根据兴趣进行匹配。每个利息的值为1。使用if语句,对于用户共有的每个值,匹配分数增加一。然后根据分数显示结果,所以我想,随机显示用户不是我想要的。但是,您假设id的增量完美,并且没有间隙。例如,当你删除一个用户时,情况就不是这样了。为什么不是这样呢?您使用循环查找存在的id。。。即使你有很多“id洞”,你也可以将所有id选择到某个[临时]表中并从中随机获得。如果出现
    洞,第二次查询将不会产生任何结果。
    
    SELECT ...
    FROM yourtable
    WHERE .... search conditions ...
    ORDER BY rand()
    LIMIT 1