0

これがシナリオです。複数のユーザーが PHP ページ/フォームを使用してデータを同時に編集しています。テーブルにはデータ行があり、各ユーザーは一度に 1 行ずつ編集できます。編集する行が選択されます。そのため、ユーザーには編集する行が与えられるだけです。どの行を編集するかは決めていません。

ユーザーがフォームを含むページに初めてアクセスすると、行が読み込まれます。また、システムはどの行を他の同時ユーザーに提供するかを決定できるように、その行が (別の同時ユーザーに対して) 編集のためにロードされたことを示すフラグをデータベース テーブルに設定します。

ここで、ユーザーがページを更新するか、[送信] ボタンをクリックせずにページを終了した場合、フラグの変更をロールバックして、読み込まれた行を再び編集できるようにします。

このために、MySQL トランザクションを使用する予定です。- トランザクションの開始時に、フラグが設定されます。- 次に、編集するデータがフォームに読み込まれます。

ユーザーがデータを編集して (ボタンをクリックして) 送信すると、Commit が発行されます。

したがって、私の理解では、START トランザクションとコミットは別々に発生します。

これを達成する方法について、誰かがガイドラインを提供してもらえますか?

4

1 に答える 1

0

これは不可能だと思います。目的を達成するために、代わりに PHP セッション変数を使用しています。

于 2012-10-21T03:48:02.747 に答える