帝国论坛帝国网站管理系统交流区帝国CMS使用交流[求助]一段SQL 循环 求和代码 【本版专题贴子】  
主题:[求助]一段SQL 循环 求和代码 [加入收藏夹]   

wangchuan
用户头衔:进士

精华贴   :0
发贴数   :789
经验值   :3384
注册时间:2008-08-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[求助]一段SQL 循环 求和代码
       动态页面放于插件目录,先获取登陆用户ID,作为变量,查询A表中 字段yewu的值=用户ID,所有数据,代码如下(没有加循环)
-----------------------------------------------------------------------------------------------------------
$uid= getcvar('mluserid');
$sql=$empire->query("select * from {$dbtbpre}A  where yewu='$uid'");  //查询签约商户
$r=$empire->fetch($sql);
$fb=$r[fb];
-----------------------------------------------------------------------------------------------------------
      上面代码获取到$fb变量的值,然后通过$fb变量查询B表中字段pid=$fb的所以记录的和
-----------------------------------------------------------------------------------------------------------
$sql2=$empire->fetch1("SELECT SUM(jin3) from {$dbtbpre}B  where   pid='$fb'  and  newstime>UNIX_TIMESTAMP()-86400*7*30 ");
$data=$sql2[0];
-----------------------------------------------------------------------------------------------------------

请问
如何循环得出所以记录的和,A表中查询到的$fb的变量并不止一条, 通过查询B表的记录也不止一条



汕头潮汕通
2019-10-14 13:50:01 已设置保密 顶部 回复 引用 报告 编辑 删除

tm2014
用户头衔:探花

精华贴   :0
发贴数   :2383
经验值   :6777
注册时间:2014-11-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

看下基础教程那个二次开发手册




2019-10-14 15:26:02 已设置保密 顶部 回复 引用 报告 编辑 删除

wangchuan
用户头衔:进士

精华贴   :0
发贴数   :789
经验值   :3384
注册时间:2008-08-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

看了,上面那个查询语句就是,后面这个循环求和的,不知道怎么整合到一起,求解



汕头潮汕通
2019-10-14 15:35:08 已设置保密 顶部 回复 引用 报告 编辑 删除

tm2014
用户头衔:探花

精华贴   :0
发贴数   :2383
经验值   :6777
注册时间:2014-11-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

应该先循环会员表,然后在循环里查询统计




2019-10-14 16:15:52 已设置保密 顶部 回复 引用 报告 编辑 删除

wangchuan
用户头衔:进士

精华贴   :0
发贴数   :789
经验值   :3384
注册时间:2008-08-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

$uid= getcvar('mluserid');//获取登陆会员ID
$sql=$empire->query("select * from {$dbtbpre}ecms_shanghu  where yewu='$uid'"); //查询登陆会员下的商户列表
while($r=$empire->fetch($sql))
{
$zfb=$r[zfb];                                 
                                $sql2=$empire->fetch1("SELECT SUM(jin3) from {$dbtbpre}ecms_ali  where   pid='$r[zfb]'  and  newstime>UNIX_TIMESTAMP()-86400*7*30 ");
                                $data=$sql2[0];

                                echo  $data; // 这里获取是一个数组,本来是每行一个数字的,如 20,50,80,现在$data显示出来是205080一串数字,我需求是20+50+80的和显示出来,这里是不是要加一个循环,怎么加的?

}

$sum += $data; 加一句这个搞定了,输出放最后

[该贴被修改 1 次,最后修改时间 2019-10-15 12:37:27 ]


汕头潮汕通
2019-10-15 08:04:49 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4206
经验值   :10776
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

回楼上,你输出没加间隔,所以连在一起




2019-10-15 08:14:26 已设置保密 顶部 回复 引用 报告 编辑 删除

时节
用户头衔:进士

精华贴   :0
发贴数   :1816
经验值   :4871
注册时间:2014-05-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

5楼你的代码没有错




2019-10-16 07:40:03 已设置保密 顶部 回复 引用 报告 编辑 删除

zhxin
用户头衔:探花

精华贴   :0
发贴数   :3756
经验值   :10341
注册时间:2013-01-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

5楼的代码没错吧




2019-10-17 07:19:03 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1