-3

DBから5つのランダムなレコードをプルして表示するphp/mysqlスクリプトを作成しようとしています。現時点では、以下を使用して1つのレコードを引き出し、モジュールに表示していますが、一度に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);
?>
4

1 に答える 1

9

を使用したくありません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;

PHP でうまく機能する他のアプローチについては、このブログ投稿を参照してください。

于 2012-11-12T21:22:33.213 に答える