php查询mysql的数值结果怎么相加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php查询mysql的数值结果怎么相加相关的知识,希望对你有一定的参考价值。

如题,用php做了一个登入和查询的网页,连接mysql的一张表,记录收入支出的,想把查询到所有"支出"的数值“金额”做一个相加然后echo出来,要怎么写,求大神指教!
我的表主键是 id(int,自动增长),外键1是sz(//收支,varchar,只有“收入”和“支出”这两个选择),外键2是je(//金额,varchar,全是数字),在php里面要怎么写才可以把sz里面是”支出“的数挑出来做相加然后echo出来?

select sum("金额字段") as cmoney from 表 where 1;

然后你输出cmoney这个就是相加的效果。
还有一种比较差点的方法就是:
1、select 金额字段 from 表 where 1;
2、获取你得到的所有信息,然后foreach 把所有的金额相加就行,
实例:$sql = "select money from cg_money where 1";
$query = mysql_query($sql);
$m = 0;

while($rs = mysql_fetch_array($sql))
$m = $m+$rs['money'];


echo $m;这个也是可以获取所有的money的,就是费事了点,还是上面的呢个方法好滴,也就是楼上的呢个方法
参考技术A

例:

select sum(zhichu) as zhichuTotal from yourTable where ......


补:

select sum(je) as jeTotal from tablename where sz='xxx';

xxx是代表支出的那个值。


php:

//$conn = mysql_connect('localhost','root','flake');
//mysql_select_db('库名');
//mysql_query('set names utf8');
//以下确保您以成功链接到了数据库
$sql = "select sum(je) as jeTotal from tablename where sz='xxx'";
$req = mysql_query($sql);
$row = mysql_fetch_array($req);
echo $row['jeTotal'];


以上。

本回答被提问者和网友采纳
参考技术B 从MYSQL查询出来的就是一个数组,遍历数组会把?把数组的value用个FOR循环 相加即可 参考技术C SELECT SUM(pay) AS payTotal FROM table;

payTotal就是总金额
参考技术D <?php
$conn=mysql_connect("localhost", "root", "password");             
$result=mysql_query("select sum(incom) from youtable", $conn);
// 获取查询结果 由于只有一条数据 就不需要循环了
$row=mysql_fetch_row($result);
// 显示结果
var_dump($row);
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close($conn);  
?>

请使用以上代码稍加改造就可以在你的环境中使用了。

希望我的回答能帮到你

追问

大侠你好,我想表达的不是一个键里面的数字全部做加法,是想挑出a键中复合b键要求的那些个数字做加法,请问这该怎么办?写mysql_query("select sum(incom) from youtable where 键名=‘所需要求’", $conn);这样可以吗?

追答

恩 就是这这样

第5个回答  2014-11-20 在sql把支出这个字段count(字段名) 然后页面上显示这个字段就可以了

SQL怎么求多列的和?

日常比较常使用的SQL,查询各科的总分,并求出总分大于240的学生名字和总分,如图,要求出linux、Mysql、Java三科的总分,并查处总分大于240的学生姓名和总分

 

可能你会想到sum,但是sum求的是列的总和,不是用来求多列的总和,不能使用已有的方法,我们就自己就将各列加起来

实现的思路,先将各列相加作为一个查询结果作为最终查询的分数大于240的查询范围,从已经相加的结果中再筛选大于240就可以了

SELECT a.student_name,sum_score
FROM
(SELECT student_name,(Linux+MySQL+Java) as \'sum_score\' from tb_grade_score) a
WHERE a.sum_score>240 

 

 

 

以上是关于php查询mysql的数值结果怎么相加的主要内容,如果未能解决你的问题,请参考以下文章

php中mysqli 处理查询结果集的几个方法

Mysql查询同一天的多条数据相加

SQL怎么求多列的和?

PHP+MYSQL查询结果上加一个排名序号且分页不间断

php执行sql查询,输出结果只有1条!?

php输出mysqli查询出来的结果