2014-02-15 21 views
-1

用我的表中的數值列出,我試圖通過php插入cummulative值到mysql表。 ,以便我可以使用select查詢輕鬆獲取它們以備後用。使用php腳本在mysql表中插入cummulative sum

我試圖找出一個PHP腳本,可以將值插入該表(dmatrix),嘗試MySQL的變量,但未能向他們發送/插入MySQL表 預期輸出:

id | datac |Cummulative 
1 | 200 | 200  
2 | 300 | 500 
3 | 400 | 900 
4 | 500 | 1400 

謝謝提前。請幫我的朋友

+1

的[創建MySQL中的累積和列]可能重複(http://stackoverflow.com/questions/2563918/create- a-cumulative-sum-column-in-mysql) –

+0

您可以在不保存列中的數據的情況下通過查詢完成此操作。 [這個問題的答案(你的問題也是重複)](http://stackoverflow.com/a/2563940/1004027)提供了一個很好的方法來計算它在飛行中。讓數據庫完成它的工作,而不是使用可能會過時的手動聚合數據讓它陷入困境。 –

回答

0

我要做出一些假設:

  • 我會假設你使用的是PDO對象與你的PHP腳本你的MySQL數據庫進行通信。
  • 我將假設dmatrix表中的id列爲auto-incrementing

有了這些假設,代碼如下所示:

<?php 

$datac = $_POST['datac']; 

$sql = ' 
    INSERT INTO dmatrix (datac, Cummulative) 
    SELECT :datac1, :datac2 + IFNULL(SUM(datac), 0) 
    FROM dmatrix 
'; 

$stmt = $dbh->prepare($sql); 
$stmt->bindValue(':datac1', $value, PDO::PARAM_INT); 
$stmt->bindValue(':datac2', $value, PDO::PARAM_INT); 
$stmt->execute(); 
+0

我想如果你把上面代碼中的'$ values'想象成從HTML表單輸入的'datac',上面的代碼應該可以工作。不過,如果你能分享輸入'datac'的HTML代碼,這可能會讓事情變得更加清晰。 –

+0

嗨shaunak我positng我的html代碼php腳本應該獲取datac並執行cummulative功能,它必須插入到我的表dmatrix代碼: - >

輸入數據:   pin碼: 代理:> 數據計數
user2389346

+0

謝謝,我有更新了我的答案。 –