2010年4月30日

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

こんばんは。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@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年4月30日 01:15
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95323
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。