2010年4月30日

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

konaさん

はじめまして、リュウといいます。
一覧で、そのままボタンでPOST処理をしても、
対象行のデータが受け渡されません。
一覧の「削除」ボタンをクリックしたときに
全体にPOSTされる為、現象どおり同じ名前のコントロールで
一番下部のものを拾ってPOSTされる形になります。


もし、特定の行の情報を拾いたいのであれば
JAVASCRIPTで処理をする形になります。

> <td><input type="submit" name="del" value="削除"></td>
> <input type="hidden" name="no" value="<?php echo $row['no'] ?>">

上記の部分を下記の組み合わせで実装します。

<td><input type="submit" name="del" value="削除" onclick="delRow(this.form,'<?php
echo $row['no'] ?>')"></td>

hiddenは、一覧の行ごとには、必要ありませんので、</form>の上辺りに記載してください。

<input type="hidden" name="no" >


delRowの中身は下記のような感じ

function delRow(form,no){
form.no.value=no;
form.submit();
}

----- Original Message -----
From: "kona" <uto-s@xxxxx>
To: "PHP-users ML" <php-users@xxxxx>
Sent: Friday, April 30, 2010 1:15 AM
Subject: [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

_______________________________________________
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日 02:20
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95325
トラックバック
コメント
コメントする




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