0

这个概念看起来很简单,但我遇到了麻烦。我有一个 PHP 表单,用户在其中输入数字,一个 jQuery 根据输入的数字和数据库中的数字执行实时计算,然后用户可以决定提交表单——然后他们的输入被发送到数据库(例如一笔交易)。提交的数字会被附加到现有的数字上,这将影响下一次的实时计算。

问题是每次用户点击“更新”时,即使他们的输入没有改变,SQL 查询也会附加数字。此外,我似乎无法弄清楚如何让它加或减。我希望它根据输入添加或减去或不执行任何操作。

例如:

数据库当前在一个表的一行中包含 100、100 和 100。表单中有 3 个数字框,用户输入 3、5 和 7。用户点击提交,现在数据库包含 103、105 和 107。如果他们再次点击提交,数据库将包含 106、110 和114(基本上是乘数效应)。我不希望这种情况发生。如何编写查询以使数据库相对于输入的变化量发生变化?就像如果用户将输入更改为 2、4 和 6,数据库现在将读取 102、104 和 106?

代码太长,无法在这里发布,所以我基本上只是在征求意见。谢谢!

编辑:也许一个想法是每次生成一行 100、100、100?使用自动增量,以便每次提交表单时最新行都会反映当前输入?

4

1 回答 1

0

我不知道你是单用户系统还是多用户系统。我想它是多用户的,因为你有这些问题。
防止这种情况发生的最简单方法是清楚地识别用户和他输入的值。然后不要更改数据库中的基本值,而是保存每个用户提交的值。
您应该为用户值创建一个表并每次更新它们。
只需进行查询,将每个用户值添加到您的基本值。完毕。
您也可以将初始值存储在数据库中。但是您也可以对它们进行硬编码,具体取决于您打算做什么。

于 2013-07-16T19:39:55.500 回答