Php 使用当前数据更新数据库表+;来自另一个表中定义的范围的随机数

Php 使用当前数据更新数据库表+;来自另一个表中定义的范围的随机数,php,mysql,sql,Php,Mysql,Sql,我试图创建一个php脚本,但我有点卡住了,不知道从哪里开始。也许你能给我一些建议 下面是脚本将执行的操作的示例: 我有一个包含两个表的数据库:用户和预算。 用户登录后,他有一个菜单,可以增加分配给帐户的预算 Users表有一个名为AvailableBudget的字段,它定义了用户可以花多少钱;而预算表包含3个字段(ID、BudgetName、MinBudget、MaxBudget) 当用户访问预算菜单时,下拉列表将显示预算表中的预算名称 根据用户选择,可用预算字段(来自用户表)将更新为以下内容

我试图创建一个php脚本,但我有点卡住了,不知道从哪里开始。也许你能给我一些建议

下面是脚本将执行的操作的示例:

我有一个包含两个表的数据库:用户预算。 用户登录后,他有一个菜单,可以增加分配给帐户的预算

Users表有一个名为AvailableBudget的字段,它定义了用户可以花多少钱;而预算表包含3个字段(ID、BudgetName、MinBudget、MaxBudget)

当用户访问预算菜单时,下拉列表将显示预算表中的预算名称

根据用户选择,可用预算字段(来自用户表)将更新为以下内容

$newbudget=mysql\u查询(“更新‘用户’集‘可用预算’”= “AvailableBudget”)+(预算表中声明的MinBudget和MaxBudget之间的随机数)

现在我不确定从哪里开始,因为AvailableBudget字段需要使用当前AvailableBudget+更新。随机数基于另一个表中的值,也基于用户从下拉菜单中选择的值。 必须指定预算表将包含多个数据:

(ID、BudgetName、MinBudget、MaxBudget)

1--预算1--100--1000

2--预算2--1000--10000


等等。

您可能需要多个查询。我确信在严格的sql中有一种方法可以做到这一点,但这里是我的方法。 注意:这是假设预算有一个唯一的标识符分配给用户

SELECT u.availablebudget, b.minbudget, b.maxbudget FROM users u
   LEFT JOIN budgets b ON u.id=b.uid

 $newbudget = $oldbudget + rand($minbudget, $maxbudget);


 UPDATE 'users' SET 'AvailableBudget'= 'AvailableBudget'

我确实不明白你的问题,但是你可以用这种方式更新一个表

$newbudget= mysql_query("UPDATE 'users' SET 'AvailableBudget'= 'AvailableBudget') + (select ROUND((RAND() * (max-min))+min) from Budget order by rand() limit 1).