[PHP-users 7136] 調べ方 (Re: まとめて処理)

Naomasa Numajiri php-users@php.gr.jp
Wed, 24 Apr 2002 23:41:03 +0900


こんばんは、

最初の「[PHP-users 7096] まとめて処理」のような現象を確認した場合の
私ならやるであろう作業を以下に書きます。お役に立てば。
(PHP固有の知識はそれほどいらないやり方だと思いますがどうでしょう?)

# ちなみに、PHPの場合、私はCGI版(--with-apxsを指定しないやつ)のPHPを
# 用意しておきます。生のHTMLがそのまま出てしまいますが、ブラウザ
# なしで動作チェックできるので便利です。



[[[1.現象をシンプルにする。]]]

最終目的は
> 複数のメッセージに各々、チェックボックスをつけて、
> チェックしたメッセージだけをまとめて、
> 削除したり、する処理がしたいのですが、
ですが、発生している問題は
> なぜか、for文でまわしても一番目のメッセージしか処理され
ですから、これに関係のない部分は削除していく

こんな感じかな?
-------------------------------------------------- begin
<?php
$db = pg_connect($constr2);
$sql = "select * from taikimsg";
$r = pg_exec($db, $sql);

if($r && pg_numrows($r) > 0)
{ 
  for($i = 0; $i < pg_numrows($r); $i++) 
  {
     print $i;
  }
}
?>
------------------------------------------------- end
場合によっては、使用しているテーブルの自体も「カラムが1つ
しかない」とかシンプルなものにしていく。

[[[2.上記のシンプルなもので再現をチェック]]]

これでも同じ現象を確認できるのなら、特徴的な部分(上記の例なら
pg_numrowsなど)と、あればエラーメッセージの中から特徴的な
文字列をキーワードにGooglde検索。もしくは参考書を調べる。

これで発生しなくなったのなら、徐々に元のソースに戻して行き
怪しい部分を突き止める。怪しい部分を見つけたら、そこを
中心に改めて、現象をシンプルにしなおす。


[[[3.以上]]]

上記の考え方(まずは現象をシンプルにする/現象に関係ない部分を
少しずつ取り除く)を元に[PHP-users 7133]の現象もがんばってください。

あと、このMLで最近紹介されましたが、以下も参考になると思います。
http://www.hyuki.com/writing/techask.html


でわでわ

-- 沼尻