2016-04-25 39 views
-1

我有一個數據庫產品,像這樣:計數與數據庫值PHP

+----+--------+-------+ 
| ID | Name | Price | 
+----+--------+-------+ 
| 1 | Burger | 3,96 | 
+----+--------+-------+ 
| 2 | Fries | 1,49 | 
+----+--------+-------+ 

我得到的ID從JS數組到PHP腳本,現在我想要得到的總價格在單變量。

我用來使用PDO方法來獲取數據,但我只發送他們通過我的JS。我如何在PHP中實際使用這些數據?

$get = $db->prepare("SELECT price FROM products WHERE id IN ('$idString')"); 
    $get->execute(); 
    $rows = $get->fetchAll(PDO::FETCH_ASSOC); 
    echo json_encode($rows); 
+0

我想你是在談論AJAX,看看它在網上有一百萬個教程 – RiggsFolly

+0

我不是在談論AJAX,我只需要計算PHP中的數據。其他一切工作正常。不管怎樣,謝謝你! –

+3

如果問題是關於添加/數學,然後使用'SUM()',* n'est-ce pas?* –

回答

2

如果你只需要合計(不包括對數據的其餘部分),你可以做你的SQL:

$get = $db->prepare("SELECT SUM(price) as total FROM products WHERE id IN ($idString)"); 
$get->execute(); 
$row = $get->fetch(PDO::FETCH_ASSOC); 
echo $row['total']; 

或者,您也可以遍歷你行,併產生一個總:

$get = $db->prepare("SELECT price FROM products WHERE id IN ($idString)"); 
$get->execute(); 
$rows = $get->fetchAll(PDO::FETCH_ASSOC); 
$total = 0; 
foreach ($rows as $row) { 
    $total += $row['price']; 
} 
echo $total; 
+0

和''$ idString''(原問題中的原始代碼不變)應該是id的數組? –

+0

謝謝!我只是跑這個,但我得到錯誤代碼500,內部服務器錯誤回來。我做的唯一改變是我包含了我的連接文件。任何線索? –

+0

當我測試,我用idString作爲「1,2」 –

2

如果妳想要得到所有的價格表,你可以簡單地添加SUM函數在查詢像

$get = $db->prepare("SELECT sum(price) FROM products IN ('$idString')"); 
$get->execute(); 
$rows = $get->fetchAll(PDO::FETCH_ASSOC); 
echo json_encode($rows) 

希望這有助於總和。