データベースを利用するCGIプログラミング

---- 検索結果の処理 ----


データベースから処理対象のデータを検索し、始めてそのデータを処理することができます。データの処理は通常のプログラミングと同様ですが、ここではPerlという言語を用いる方法で説明します。

SQL文の実行結果は、データが表になっています。そこで、その結果表から1行つづデータをプログラムに読み込み、処理してゆきます。この読み込みをフェッチと言います。

次の図は、データベースのオープンからフェッチまでのデータの変遷過程を示したものです。

以下のプログラムは、結果表から各行をフェッチ($sth->fetchrow_array())して、それをそのままディスプレイに表示(print)し、それをwhile文で結果表のデータがなくなるまで繰り返し行なっています。

【記述例1】
while ( @row = $sth->fetchrow_array() ){
    print "@row\n";
【記述例2】
while ( @row = $sth->fetchrow_array() ){
    print "$row[0] $row[1] $row[2] $row[3]\n";

記述例1は、1行をまとめて表示させていますが、記述例2ではそれぞれの項目を指定して表示させています。

上記のプログラムを実行させると、どちらの記述でも以下のような出力結果になります。

[egi@myouga]$ perl cgi40.pl
ハル 2 宇部市 0836-88-8888
ミミ 2 宇部市 0836-33-3333
ポチ 10 山口市 0839-66-6666
クー 4 宇部市 0836-99-9999
サチ 3 下関市 0832-77-7777
[egi@myouga]$ 


江木鶴子 : egi@ube-c.ac.jp