データをランダムに表示させる為に、phpからmysqlへ「order by rand()」を使い処理を行いましたが、ランダムの頻度が小さく困っています。

ほとんど同じデータが表示され、20回に一度程度で別のデータへ変わり、また以前のデータがしばらく表示されます。
実験的にデータは10件程度となっています。
出来るだけ均等にデータをランダム表示させる方法があればお教えください。
宜しく御願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/08/31 22:26:50
  • 終了:--

回答(2件)

id:matsu911 No.1

matsu911回答回数136ベストアンサー獲得回数02005/08/31 22:33:34

ポイント25pt

URLはダミーです。

ブラウザのキャッシュが原因とか、DBへのアクセスをキャッシュしているとかいうことはないですか?

一度、SQLをコマンドラインから叩いて頻度を見てみてはいかがでしょうか?

id:konorinori

mysqlに直接コマンドを打ち込んだ際には、正常に動作しましたが、ブラウザ上では同様の問題が発生します。

指摘いただいた点を考慮し、「インターネットオプション」の「一時ファイルの設定」を「確認しない」にしてみたり、あるいはphpのヘッダにheader(”Cache-Control: no-cache”);を記述しキャッシュを禁止してみましたが、うまくいきません。

他に何か原因があるのでしょうか?

2005/09/01 12:10:50
id:mitasan No.2

mitasan回答回数14ベストアンサー獲得回数12005/09/02 23:01:22

ポイント25pt

MySQLメーリングリストログの6382 6424 6425 あたり参考にならないでしょうか

コマンドラインからはOKで、phpからはNGなあたり同じ状況だと思うのですが

id:konorinori

ありがとうざいました。

mt_rand()を使用する方法で解決することができました。

2005/09/04 00:39:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません