私は多くの繰り返し行を持つフォームラップテーブルを持っています。表の目的は、ユーザーアカウントの編集を許可することです。各行は次のようになります。html/phpで送信をスコープすることはできますか?
<tr>
<td><input type="text" name="username" value="$row->username" /></td>";
<td><input type="text" name="fname" value="$row->fname" /></td>
<td><input type="text" name="lname" value="$row->lname" /></td>
<td><input type="email" name="email" value="$row->email" /></td>
<td><button type="submit" class="btn btn-primary" name="edituserbutton" value="$row->id" >Edit</button>";
</tr>
この表を作成します。私は各入力要素の名前を行番号 に変更することができます。これにより、それらは一意になります。 name="username##"
ここで、## = $row->id
。
しかし、投稿が何とか行にスコープできるかどうか疑問に思っていました。私はこれが可能である。この
$id = $_POST['edituserbutton'];
$user_name = $_POST['username'.$id];
のようにキーを構築することを避けるために をしようとしていますか?
また、データの表示や編集に関しては、これは一般的にどのように行われていますか?
===========更新
ここに私がしたことがあります。よく働く。すべてのいただきありがとうございます:
$(document).ready(function() {
$('button[name=edituserbutton]').click(function(e) {
e.preventDefault();
var buttonvalue = $(this).attr("value");
alert("button value is " + buttonvalue);
// .. business here
return;
})
});
これはJavascriptで行うことができます。ボタンを 'onclick'イベントにしてからDOMを歩いて、その行内のすべてのフォーム要素をつかみます。次に、AJAXを使用してデータを送信します。これを行う方法の例がたくさんあります。 – Machavity
PHPは入力値から配列を作成できます。 http://stackoverflow.com/questions/1543950/php-request-as-arrayとhttp://us.php.net/manual/en/faq.html.php#faq.html.arrays – JimmyB
@Machavityのコメント正直言ってベストプラクティスです。最適なユーザーエクスペリエンスも提供します。 – MonkeyZeus