0

コンセプトは単純に思えますが、私は問題を抱えています。ユーザーが数値を入力するPHPフォームがあり、jQueryは入力された数値とデータベース内の数値に基づいてリアルタイムの計算を実行し、ユーザーはフォームを送信することを決定できます-その後、入力がデータベースに送信されます(つまり、トランザクション)。送信された数値は既存の数値に追加され、次回のリアルタイム計算に影響します。

問題は、ユーザーが「更新」を押すたびに、入力が変更されていなくても、SQL クエリが数字を追加することです。さらに、加算または減算する方法がわかりません。入力に基づいて加算または減算するか、何もしないようにします。

例えば:

データベースには現在、テーブルの行に 100、100、および 100 が含まれています。フォームには 3 つのナンバー ボックスがあり、ユーザーは 3、5、および 7 を入力します。ユーザーが送信を押すと、データベースには 103、105、および 107 が含まれます。再度送信を押すと、データベースには 106、110、および 107 が含まれます。 114(基本的に乗数効果)。私はこれが発生したくありません。入力の変化量に応じてデータベースが変化するようにクエリを作成するにはどうすればよいですか? ユーザーが入力を 2、4、および 6 に変更すると、データベースは 102、104、および 106 を読み取るようになりますか?

ここに投稿するにはコードが長すぎるので、基本的にはアイデアを求めているだけです。ありがとう!

編集:毎回 100、100、100 の行を生成するのが 1 つのアイデアでしょうか? 自動インクリメントを使用して、フォームが送信されるたびに最新の行に現在の入力が反映されるようにしますか?

4

1 に答える 1

0

シングル ユーザー システムかマルチ ユーザー システムかはわかりません。これらの問題があるため、マルチユーザーだと思います。
これを防ぐ最も簡単な方法は、ユーザーとそのユーザーが入力した値を明確に識別することです。次に、データベースの基本的な値を変更せずに、各ユーザーが送信した値を保存します。
ユーザー値専用のテーブルを作成し、毎回更新する必要があります。
各ユーザー値をベース値に追加するクエリを作成するだけです。終わり。
初期値もデータベースに保存できます。ただし、目的に応じて、それらをハードコーディングすることもできます。

于 2013-07-16T19:39:55.500 に答える