我正在尝试编写一个php/mysql脚本,它将从数据库中提取5个随机记录并显示它们.目前我使用以下内容将一条记录拉出并显示在一个模块中,但我不确定如何一次只拉出5条记录.我总共会在DB中有大约200-300条记录.
我目前正在使用以下代码随机拉出单个记录:
<?php
$result = mysql_query("SELECT * FROM `zgjzb_chronoforms_data_submitbusiness` ORDER BY RAND() LIMIT 0,4;");
$row = mysql_fetch_array($result);
?>
Run Code Online (Sandbox Code Playgroud)
你不想用ORDER BY RAND().MySQL必须构建一个临时表.如果你的表有一个唯一的id列,那么这样的东西要好得多:
SELECT * FROM `zgjzb_chronoforms_data_submitbusiness`
WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` )
ORDER BY id LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
有关在php中运行良好的其他方法,请参阅此博客文章.