[PHP-users 35180] Re: FORMでの値渡しについて(最後の値が入ってしまう)

北尾馨 cw.kaoru @ gmail.com
2010年 4月 30日 (金) 01:34:28 JST


北尾といいます。

</from>

これは転記ミス?。

--
KITAO Kaoru




2010年4月30日1:15 kona <uto-s @ ymail.plala.or.jp>:
> こんばんは。konaと申します。
>
> データベースの内容をwhile文を使って一覧表示させ、
> 各行(レコード)の右端に「削除」ボタンを設け、
> レコードを削除させたいのですが、
> 目的のレコードの「削除」ボタンをクリックしても、
> 表の最後(一番下)のレコードしか削除されず悩んでいます。
> 下記の例で、POSTで渡す値に、一番最後の値が入ってしまいます。
>
> <?php
> $rs = $db->query("SELECT * FROM table WHERE id = '$id'");
> $row = $rs->fetchRow(DB_FETCHMODE_ASSOC);
> ?>
> <table>
> <?php
> while ($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){
> ?>
>  <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>">
>  <tr>
>   <td><?php echo $row['no'] ?></td>
>   <td><?php echo $row['name'])?></td>
>   <td><input type="submit" name="del" value="削除"></td>
>  </tr>
>  <input type="hidden" name="no" value="<?php echo $row['no'] ?>">
>  </from>
> <?php
> }
> </table>
>
> 上記の場合、$_POST['no'] で受け取る値が、目的のレコードのnoでなく
> 一番最後の値になってしまいます。
> 但し、表にある $row['no']  の値は目的のレコードのnoを表示しています。
>
> 原因や何か良い解決方法がございましたら
> どなたかアドバイス頂けますと助かります。
>
> よろしくお願い致します。
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>


PHP-users メーリングリストの案内