4.10 レコードをランダムに読み込む

「odbc_fetch_row関数」の第2引数を指定して特定のレコード番号だけを読み出す方法の応用例です。
第2引数に与える数値をランダムに設定することによって、毎回異なるレコードを取り出すことができます。もし画像の情報やリンク先アドレスなどが保存されているテーブルに適用すれば、広告バナーのランダム表示のようなことができます。
<?php

  $DSN        = "AccessPHP";    //データソース名
  $DBUSER     = "";             //ログインユーザー名
  $DBPASSWORD = "";             //パスワード

  //Accessデータベースに接続
  if (! $con = odbc_connect($DSN, $DBUSER, $DBPASSWORD)) {
    exit("Accessデータベースに接続できませんでした!");
  }

  //仕入先テーブルから全レコードを読み込むSQLを組み立て
  $sql = "SELECT * FROM 仕入先";
  //結果セットを取得
  $rst = odbc_exec($con, $sql);

  //乱数ジェネレータを初期化
  srand(microtime() * 1000000);
  //1〜20の範囲の乱数を生成
  $recno = rand(1, 20);

  //ランダムな1レコードを読み込み
  odbc_fetch_row($rst, $recno);
  print $recno . " 番目のレコードを読み込みました<BR><BR>";
  print odbc_result($rst, "仕入先コード") . "<BR>";
  print odbc_result($rst, "仕入先名") . "<BR>";
  print odbc_result($rst, "担当者名") . "<BR>";

  //ODBCとの接続を解除
  odbc_close($con);

?>
以下の図では、同じページを3回再読み込みしたあとの結果を表示しています。


| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved