• ベストアンサー

ローテーションバナー広告について

一行タイプのローテーションバナーに関しては、 ローテーション・バナーを作ってみよう | アフィリエイトのためのPHP入門講座 http://affiliate.aki-f.com/prog/cat/cat7.html 上記のサイトを参考に設定が出来たのですが、 例えば、広告リストに10サイト載せて、 そこから5サイトランダム表示という形で カスタマイズすることは可能でしょうか? どうかご指導の程、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHOW001
  • ベストアンサー率85% (6/7)
回答No.4

たいへん申し訳ありません。 SELECT hoge FROM hogetable LIMIT 5 ORDER BY rand() ではなく、 SELECT hoge FROM hogetable ORDER BY rand() LIMIT 5 が正しいと思われます。 LIMIT句とORDER BY句が逆でした。

その他の回答 (4)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.5

配列をシャッフルして先頭5件を取ればよいかと。 <?php $Array=file("list.txt"); shuffle ($Array); $Ad=str_replace("\\","",$Array[0]); $Ad=stripslashes($Ad); print $Ad; $Ad=str_replace("\\","",$Array[1]); $Ad=stripslashes($Ad); print $Ad; //このエスケープ処理はどうかと思いますが・・

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

> SELECT hoge FROM hogetable LIMIT 5 ORDER BY rand() > などとすれば、簡単にランダム5つが取り出せると思いますが。 いいですね。私のシステムもこれにしようっと(^_^) 有難うございます。

  • SHOW001
  • ベストアンサー率85% (6/7)
回答No.2

ちょっと横やりかもしれませが…。 ランダムバナーを作るのならPHP+SQLのほうが簡単では? データベースにいくつものテキストバナーのデータを放り込んでおいて、 SELECT hoge FROM hogetable LIMIT 5 ORDER BY rand() などとすれば、簡単にランダム5つが取り出せると思いますが。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

バナーを外部ファイル化出来たのですから、後一息ですね。 5サイトランダム表示と言う条件は若干プログラムが面倒で すが、それほど難しくは無いでしょう。 考え方としては、全てのバナーを読み込んでおき、乱数を 発生させ、乱数はバナー数の余りで加工し、先頭から5つの 数字を取ってくるけど、ダブリがあれば削除し次の数字を 取込む。その乱数で、取込んだバナーを選択したらお望みの 結果が得られると思います。

関連するQ&A