【问题标题】:PHP + MySQL - Randomly list all the data from MySQL tablePHP + MySQL - 随机列出 MySQL 表中的所有数据
【发布时间】:2012-11-09 17:22:53
【问题描述】:

我在 MySql 中有一个名为 clients 的表。我想在 php 网页中随机列出该表中的所有数据。每当用户访问php网页时,是否可以随机数据?

谢谢你:D

【问题讨论】:

    标签: php mysql list random


    【解决方案1】:

    你可以这样做:

    SELECT * FROM mytable ORDER BY RAND();
    

    这在示例here 中有所提及。 正如documentation 中提到的,rand() 不会生成完全随机的数字/序列(但它可能足以在网站上实际使用)。

    您也可以使用limit 仅选择 N(例如 5)条记录:

    SELECT * FROM mytable ORDER BY RAND() LIMIT 5;
    

    【讨论】:

    • 感谢您的回答。我试图在我的代码中使用它。它正在工作,但是在我单击下一页后,第 1 页中的一些数据出现在第 2 页中,依此类推。我试图编辑我的 php 代码,但它不工作。我是否需要使用 php 编码而不是 ORDER BY Rand()?谢谢:D
    • @user1822825 是的,每次运行查询(每次加载 PHP 脚本时都会运行,这将在“下一页”等上发生),一切都会随机化。如果你想避免这种情况,我认为你最好在 PHP 中进行随机化而不是查询。需要一些逻辑来避免页面之间的重新随机化。我认为这将是另一个帖子的问题,您可以在其中澄清并指定您的需求...
    【解决方案2】:

    在查询中添加ORDER BY RAND() 子句。

    一个警告,这种排序不会很有效...

    【讨论】:

      【解决方案3】:
      SELECT * FROM clients
      ORDER BY RAND()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-25
        • 2021-12-23
        • 1970-01-01
        相关资源
        最近更新 更多