我在表中添加一列並返回總和。我有一個循環,但它不工作。在PHP中獲取MySQL列的總和
while ($row = mysql_fetch_assoc($result)){
$sum += $row['Value'];
}
echo $sum;
我在表中添加一列並返回總和。我有一個循環,但它不工作。在PHP中獲取MySQL列的總和
while ($row = mysql_fetch_assoc($result)){
$sum += $row['Value'];
}
echo $sum;
您可以完全處理它在MySQL查詢:
SELECT SUM(column_name) FROM table_name;
在PHP代碼,試試這個:
$result = mysql_query('SELECT SUM(value) AS value_sum FROM codes');
$row = mysql_fetch_assoc($result);
$sum = $row['value_sum'];
使用PDO(mysql_query
折舊)
$stmt = $handler->prepare("SELECT SUM(value) AS value_sum FROM codes");
$stmt->execute();
$row = $handler->fetchAll(PDO::FETCH_OBJ);
$sum = $row->value_sum;
像這樣'$ sum = mysql_query(「SELECT SUM(Value)FROM Codes」);'用這個我得到'資源id#10',但不是所有值的總和。 – jack 2011-04-27 18:47:02
嘗試'$ result = mysql_query('SELECT SUM(value)AS value_sum FROM codes'); $ row = mysql_fetch_assoc($ result); $ sum = $ row ['value_sum'];'。 – Flinsch 2011-04-27 19:03:12
什麼是value和value_sum? – 2016-07-28 06:56:24
$row['Value']
可能是一個字符串。嘗試使用
intval($row['Value'])
。
此外,請確保在循環之前設置了$sum = 0
。
或者,更好的是,將SUM(Value) AS Val_Sum
添加到您的SQL查詢中。
$sql = "SELECT SUM(Value) FROM Codes";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
sum = $row['SUM(price)'];
}
echo sum;
$query = "SELECT * FROM tableName";
$query_run = mysql_query($query);
$qty= 0;
while ($num = mysql_fetch_assoc ($query_run)) {
$qty += $num['ColumnName'];
}
echo $qty;
我已經取代你的代碼,它工作得很好
$sum=0;
while ($row = mysql_fetch_assoc($result)){
$value = $row['Value'];
$sum += $value;
}
echo $sum;
$result=mysql_query("SELECT SUM(column) AS total_value FROM table name WHERE column='value'");
$result=mysql_result($result,0,0);
試試這個:
$sql = mysql_query("SELECT SUM(Value) as total FROM Codes");
$row = mysql_fetch_array($sql);
$sum = $row['total'];
獲得一筆特定的行值使用PHP MYSQL
"SELECT SUM(filed_name) from table_name"
你的意思是使用MySQL? – TGrif 2017-09-06 14:50:17
我們從MYSQL得到結果時得到的結果,然後我們爲什麼試圖讓一些循環獲得結果.. – senthilkumar 2017-09-08 09:53:32
MySQL 5.6(LAMP)。 column_value是您想要添加的列。 table_name是表格。
方法#1
$qry = "SELECT column_value AS count
FROM table_name ";
$res = $db->query($qry);
$total = 0;
while ($rec = $db->fetchAssoc($res)) {
$total += $rec['count'];
}
echo "Total: " . $total . "\n";
方法#2
$qry = "SELECT SUM(column_value) AS count
FROM table_name ";
$res = $db->query($qry);
$total = 0;
$rec = $db->fetchAssoc($res);
$total = $rec['count'];
echo "Total: " . $total . "\n";
方法#3 -SQLi
$qry = "SELECT SUM(column_value) AS count
FROM table_name ";
$res = $conn->query($sql);
$total = 0;
$rec = row = $res->fetch_assoc();
$total = $rec['count'];
echo "Total: " . $total . "\n";
方法#4:折舊(不使用)
$res = mysql_query('SELECT SUM(column_value) AS count FROM table_name');
$row = mysql_fetch_assoc($res);
$sum = $row['count'];
您應該將其替換爲執行總和的SQL查詢,或者您應該在循環前初始化'$ sum = 0'。我建議使用sum()字段進行SQL查詢。 – fbstj 2011-04-27 18:08:15
這裏沒有什麼錯,除了$ sum之前可以有一些價值循環,你最喜歡的是什麼? – piotrm 2011-04-27 18:08:32
你必須聲明$ sum變量高於WHILE循環到'0' – SagarPPanchal 2013-06-06 05:00:20