2013-11-28 52 views
0

我試圖創建一個PHP腳本,但我有點卡住,不知道從哪裏開始的範圍:當前數據+隨機數數據庫表的更新。也許你可以給我一些提示。從另一個表

這裏是什麼樣的腳本將做一個例子:

我有包含兩個表的數據庫:用戶預算。 用戶登錄後,他有一個菜單,他可以增加分配給帳戶的預算。

用戶表中有一個名爲AvailableBudget女巫定義多少錢,用戶可以花場;而預算表包含3個字段(ID,BudgetName,MinBudget,MaxBudget)。

當用戶將訪問預算菜單時,下拉列表將顯示預算表中的BudgetNames。

基於所述用戶選擇的AvailableBudget字段(從用戶表)將具有以下

$ newbudget =請求mysql_query(「UPDATE '用戶' SET 'AvailableBudget'= 「AvailableBudget更新「)+(MinBudget之間的隨機數 - MaxBudget在預算表中聲明)

現在,我不知道,因爲從哪裏開始可用預算字段需要使用當前的AvailableBudget進行更新+隨機數字基於另一個表中的值,也基於用戶從下拉菜單中選擇的內容。 必須指定預算表將包含多個數據:

(ID,BudgetName,MinBudget,MaxBudget)

1 - Budget1 - 100 - 1000

2 - Budget2 - 1000 - 10000

等等。

回答

0

您可能需要多次查詢。我確信有一種方法可以在嚴格的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' 
0

我完全沒有得到你的問題,但你可以用這種方式更新一個表。

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