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

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:matsu911 No.1

回答回数136ベストアンサー獲得回数0

ポイント25pt

URLはダミーです。

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

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

id:konorinori

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

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

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

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

回答回数14ベストアンサー獲得回数1

ポイント25pt

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

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

id:konorinori

ありがとうざいました。

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

2005/09/04 00:39:42

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

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

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

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

回答リクエストを送信したユーザーはいません