0

私がmysqlから収集したレコードはたくさんあります。

id      name     mark 
1234    john     18
53      smith    12
324     mike     15
...

すべてのを一度に編集(更新)できるようにフォームを作成したいのですがmark、textboxvalueプロパティを使用してフォームに表示できることがわかっています。しかし、正しいファイルを更新するために、投稿されたフォームを処理するときに、まったく同じレコードを識別するにはどうすればよいですか?そして確かに、私はフォームにいくつのレコードがあるのか​​わかりません。

idアイデアは、フィールドを通じてレコードを識別することかもしれません。しかし、それを行う方法は?

4

2 に答える 2

0

このアプリケーションが管理目的のみの場合:

<input type="hidden" name="id" id="id" value="_ID_VALUE_" />
<input type="text" name="name" id="name" value="_NAME_VALUE_" />
<input type="text" name="mark" id="mark" value="_MARK_VALUE_" />

それから

UPDATE table SET mark = '_SANITIZED_MARK_VALUE_' WHERE id = "_SANITIZED_ID_VALUE_";

それがエンドユーザー向けのアプリケーションである場合、エンドユーザーが隠し入力の値を変更しないとは信じたくありません。この場合、idname、およびmark$_SESSION変数に格納し、 を比較して、postどのレコードがどの に関連するかを判断し、それに応じてステートメントidを作成することをお勧めします。update

于 2012-04-04T15:15:35.520 に答える
0

フォームを作成するときは、データベースの ID を各テキスト フィールドの NAME 属性の一部として使用します。次に、投稿された値の配列を受け取ったら、キーを処理して、更新する必要があるレコードの ID を見つけることができます。たとえば、「record-1234」、「record-53」などの名前のフィールドを持つことができます。次に、$_POST のキーを反復処理し、「-」で分割し、結果の ID を UPDATE クエリで使用します。

于 2012-04-04T15:09:11.157 に答える