簡體   English   中英

如何使用PHP對mysql中的所有值求和

[英]how to sum all values in mysql using php

我的表值是:

id stock
1   7|8
2   80|50|30

我的查詢是

我用過PHP函數

function numofQuantity() {

    $sql = "SELECT sum(stock) as quantity FROM products";
    $result = dbQuery($sql);
    $data=mysql_fetch_assoc($result);
    return $data['quantity'];

}

在這里它顯示結果為87。

如何對所有值求和? 謝謝

切勿將多個值存儲在一列中!

如您現在所見,這只會導致問題。 您應該更改數據庫設計。 使用另一張表存儲庫存:

stock table
-----------
id
product_id
stock

你可以像這樣把股票加起來

SELECT p.id, sum(s.stock) as quantity 
FROM products p
inner join stock s on s.product_id = p.id
group by p.id

現在在Mysql中很難做到。 您可以像下面這樣使用php:

function numofQuantity() {

    $sql = "SELECT stock FROM products";
    $result = dbQuery($sql);
    $data=mysql_fetch_assoc($result);
    $arrayVal = explode("|", $data['stock']);
    return array_sum($arrayVal)

}

有關更多信息: http : //us3.php.net/array_sum

首先,如果您希望對列中的各個值執行任何操作,則應標准化數據庫。

沒有規范化,您將需要PHP的支持( PDO示例):

$sum = 0;
$res = $db->query('SELECT stock FROM products');
foreach ($res->fetchAll(PDO::FETCH_COLUMN) as $stocks) {
    $sum += array_sum(explode('|', $stocks));
}

echo $sum;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM