テーブル内のすべてのレコードを選択し、ランダムな順序で表示する方法を見つけようとしています。
RAND()
私はこのクエリのように多くのことを聞いた
$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");
しかし、私の知る限り、これは20のようなランダムな数のレコードを選択するだけです。
すべてのレコードを選択し、ランダムな順序で表示するにはどうすればよいでしょうか。
ありがとう
すべてのエントリを選択し、ランダムな表示をphpに任せたほうがよいでしょう。全体として多くのリソースORDER BY RAND()
が必要です。この操作では、実際にテーブルの各行を再クエリし、乱数IDを割り当てて、結果を配信します。ORDER BY RAND()
$sql = mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 1");
しかし、私の知る限り、これは20のようなランダムな数のレコードを選択するだけです。
間違った例:これにより、すべてのレコードが選択され、「ランダムに」再配置されて最初の行が表示されます:LIMIT 1
、そのままにします。
$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");
私はあなたの質問についてあまり明確ではありませんが、次のクエリを実行するだけで、すべてのレコードをランダムな順序で取得できます。
SELECT * FROM table ORDER BY RAND()
上記のクエリは、テーブルの各行にランダムな値を生成し、これらのランダムな値に従ってそのテーブルを並べ替え、並べ替えられた行に従って戻ります。したがって、ランダムな順序ですべてのレコードが作成されます。
それはこれだけです:
SELECT * FROM table ORDER BY RAND()
ドロップするLIMIT 1
ことで、すべてのレコードをランダムに並べ替えることができます...
結果を配列に入れて、それだけshuffle()
にします。
そして、機能を取り除くとmysql_*
、女の子はもうそれらを好きではありません。