У меня есть столбец в таблице, который я бы хотел добавить и вернуть сумму. У меня есть цикл, но он не работает.
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;
$query = "SELECT * FROM tableName"; $query_run = mysql_query($query); $qty= 0; while ($num = mysql_fetch_assoc ($query_run)) { $qty += $num['ColumnName']; } echo $qty;
$row['Value']
, вероятно, является строкой.Попробуйте использовать intval($row['Value'])
.
Кроме того, убедитесь, что вы устанавливаете $sum = 0
перед циклом.
Или, еще лучше, добавьте SUM(Value) AS Val_Sum
в ваш SQL-запрос.
$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'];
$sql = "SELECT SUM(Value) FROM Codes"; $result = mysql_query($query); while($row = mysql_fetch_array($result)){ sum = $row['SUM(price)']; } echo sum;
Я заменяю ваш код, и он хорошо работает
$sum=0; while ($row = mysql_fetch_assoc($result)){ $value = $row['Value']; $sum += $value; } echo $sum;
Получить сумму определенного значения строки с помощью PHP MYSQL
"SELECT SUM(filed_name) from table_name"
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'];