プログラムを組むにはまず「どういう仕組みにするか」を考えることが肝心です。ローテーションバナーはどういう仕組みになっているのでしょう。
まずローテーションバナーとはどういうものか考えてみましょう。
僕が使っているサーバーとドメイン管理のレジストラーです。
§仕組みを考えてみよう。
プログラムを組むにはまず「どういう仕組みにするか」を考えることが肝心です。
ローテーションバナーはどういう仕組みになっているのでしょう。
配列と乱数で自動切換え
まずローテーションバナーとはどういうものか考えてみましょう。
単純ですね。条件はたった2つです。
まずは1.の「登録された複数のバナーのうちただ一つが表示される」の仕組みを作ってみましょう。
これは簡単です。リンクコードを配列に収めて、表示する要素を一つだけ指定すれば良いのです。
$n=0;
$Array=array(
"<a href=’URL’>バナー1</a>"‚
"<a href=’URL’>バナー2</a>"‚
"<a href=URL’>バナー3</a>"
);
print $Array[$n];
?>
表示する配列の数値インデックスを$nに代入すればそのリンクが表示されます。
例の場合$n=0ですから$Array[0]、つまりバナー1のリンクが表示されます。
$nの値を変えてやることで、表示するリンクが変わります。
問題は、2.の「リロードのたびに表示されるバナーが入れ替わる」です。
$nの値を自動的に変更するにはどうしたら良いか?の仕組みを考えます。
いちばん簡単な方法は「乱数を生成する」ことです。
PHPには乱数を自動生成する関数がありますのでそれを利用しましょう。
rand(最小値‚ 最大値);
これを使って$nを指定します。
登録された要素数は3つなので、数値インデックスは「0 1 2」の3つ。
指定する最小値は「0」最大値は「2」になります。
$n=rand(0‚ 2);
$Array=array(
"<a href=’URL1’>バナー1</a>"‚
"<a href=’URL2’>バナー2</a>"‚
"<a href=’URL3’>バナー3</a>"
);
print $Array[$n];
?>