2012-10-14 42 views
1

事情是這樣的: 對於所有訂閱的玩家來說,根據他們的技能有一個隨機公式。這個公式必須連續更新幾次,並在它之間進行睡眠。計算必須是以前的計算+新的計算的總和。 的事情是,我想更新我的表wedstrijdresultaten計算,但由於計算是在一個while循環,我不能使用將mysql中的一條指令更新到mysql的表中

$Calculation = $row['Calculation'] + ($Skills/35)*rand($Skills, 100); 

這就是我想會的工作,但它並不:

$sqlUpdate = "UPDATE wedstrijdresultaten SET Calculation='".$row['Calculation'] + ($Skills/35)*rand($Skills, 100)."'"; 
+0

您的意思是從表格中讀取$ row ['Calculation']等等......?你可以添加while循環的代碼嗎? –

回答

1

請參閱"Operator Precedence" in the PHP documentation+.具有相同的優先級,並且是左結合的,所以這樣的:

"..." . a + b . "..." 

含義:

(("..." . a) + b) . "..." 

您需要使用小括號強制除了在連接前進行:

$sqlUpdate = "UPDATE wedstrijdresultaten SET Calculation='" 
       . ($row['Calculation'] + ($Skills/35)*rand($Skills, 100)) 
       . "'"; 
+0

謝謝!這就是我需要的!我現在唯一不瞭解的是,爲什麼每個球員的結果都是一樣的,即使技能不同:p – freddddyyyyy

+0

@freddddyyyyy:那麼,即使是這種變化,我認爲你也會得到同樣的結果,因爲你的'UPDATE'語句似乎沒有'WHERE'子句。 。 。 – ruakh

+0

謝謝,我只是想明白了:p謝謝你的快速幫助! – freddddyyyyy

0

試試這個,

$sqlUpdate = "UPDATE wedstrijdresultaten 
       SET Calculation = Calculation + " . (($Skills/35) * rand($Skills, 100)) ;