[PHP-users 1338] 2つのテーブルを利用して一つの結果を出す方法

安嶋貴志 php-users@php.gr.jp
Tue, 21 Aug 2001 21:11:23 +0900


はじめまして、安嶋と申します。今後ともよろしくお願いします。
当方はphp4.XのPostgreSQLをFreeBSDで利用してます(バージョンは失念)

さて質問なのですが、bukkenテーブルとcodeテーブルを利用して、一つの結果を出したいのですが、どうしてもうまく行きません。

例えば、bukkenテーブルには5,13,25,32,37,40,63と各行に記録され、codeテーブルには5,7,8,13,15,20,25,30,31,32,35,36,37,38,39,40,50,51,63,64,65,66,67,68,69,70と各行に記録されています。

これらのテーブルを利用し、両方のテーブルに同じ数字があればチェックボックス(チェック済み)を、codeテーブルのみの数字の場合はチェックボックス(未チェック)を出力したいのです。

自分で作成したスクリプトですと、bukkenテーブルを先に読み込み、後からcodeテーブルを読み込む形にしてますので、どうしてもcodeテーブルを全部処理してからbukkenテーブルを回すと言う自分が欲しい結果にはなりません。

下記に作成したスクリプトを掲載しますので、ご面倒ですがどうすれば正常な動
作をさせる事が出来るか、ご指導の方お願いします。
汚いスクリプトですが、ご辛抱下さい。

 for($o=0;$o<$are_row;$o++){
  $pk=pg_fetch_row($are,$o);
  for($a=0;$a<$scrows;$a++){
   $code=pg_fetch_row($stc,$a);
   if($pk[3]==$code[1]){
    echo "<td width=176><font size=2><input type=checkbox name=setubi[$code[1]] value={$code[1]} checked>{$code[2]}</font></td>\n";
    $break;
   }else{
    echo "<td width=176><font size=2><input type=checkbox name=setubi[$code[1]] value={$code[1]}>{$code[2]}</font></td>\n";
    $break;
   }
  }
 }


よろしくおねがいします。

==========================================================
マグナスシステムズ株式会社
〒101-0021 東京都千代田区外神田5-1-5 松永第1ビル3F
TEL:(03)5816-0561(代)  FAX:(03)5816-0563
    (03)5816-0562(直)

 安嶋 貴志
 E-mail:ajima@magnus-sys.com
 http://www.magnus-sys.com/
==========================================================