| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2011 人关注过本帖
标题:如何筛选学习多科目的学员?
只看楼主 加入收藏
fkueyga8
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
如何筛选学习多科目的学员?
a表:
id       name      banji_id               //banji_id即为b表的id
 1         张龙          1
 2         张龙          2
 3         李四          1
 3         李四          5
 5         王五          3
 6         赵虎          2
 7         赵虎          1
 8         赵虎          4

 b表:
id          km             sj1          sj2
 1        珠心算        2015      春季
2           口才         2015      春季
3          作文          2015      春季
4          数学          2015      春季
5          英语          2014      秋季

 张龙是在2015春季学了珠心算和口才;
 赵虎是在2015春季学了珠心算和口才和数学;
 李四是在2014秋季学的英语,2015春学的珠心算;
 我想做一个按纽,点击后搜索出
张龙
张龙
赵虎
赵虎
赵虎
(即在同一期学多科的学员);
 而李四虽然是不同科目,但李四由于是不同学期,所以不在显示之列

function get_xueyuan_count($duoke.......省略)
 {
global $fdyu,$db;
         ......省略
        if($duoke!=0)
 {
 $sql_where .= " and xy.cur_banji_id=bj.banji_id group by xy.name,bj.shijian_1,bj.shijian_2 having count(*) > 1";
 }
         $sql = "SELECT COUNT(distinct xy.xy_id) FROM ".$fdyu->table('oa_xueyuan')." as xy left join
 ".$xfsql.
 $fdyu->table('oa_banji') . " as bj on bj.banji_id=xy.cur_banji_id left join ".
 $fdyu->table('oa_banji') . " as bj_1 on bj_1.banji_id=xy.pre_banji_id
 ".$xiashu.
 $sql_where;
         $count = $db->getOne($sql);
         return $count;
 }

 function get_xueyuan_list($duoke.......省略)
 {
         global $fdyu,$db;
         ......省略
        if($duoke!=0)
 {
 $sql_where .= " and xy.cur_banji_id=bj.banji_id group by xy.name,bj.shijian_1,bj.shijian_2 having count(*) > 1";
 }
         $sql = "SELECT xy.* FROM ".$fdyu->table('oa_xueyuan')." as xy left join
 ".$xfsql.
 $fdyu->table('oa_banji') . " as bj on bj.banji_id=xy.cur_banji_id left join ".
 $fdyu->table('oa_banji') . " as bj_1 on bj_1.banji_id=xy.pre_banji_id
 ".$xiashu.
 $sql_where;
         $res = $db->selectLimit($sql, $size, ($page-1) * $size);
 $arr = array();
         if ($res)
         {
 while ($row = $db->fetchRow($res))
                {
                       ......省略
               }
         }
 }

我用红色部分代码进行筛选,但只能显示
张龙
赵虎
而我想显示的是
张龙
张龙
赵虎
赵虎
赵虎
另外,在get_xueyuan_count()这个函数里用红色代码时,搜索出来的数据分页和总数都不对
搜索更多相关主题的帖子: 如何 数学 作文 
2015-03-19 19:29
asmdaydream
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:中原
等 级:版主
威 望:13
帖 子:257
专家分:840
注 册:2009-5-10
收藏
得分:20 
得分两次查吧,即然都group了,相同的当然组合成一条数组了

常走夜路不怕黑 长沙PHP高薪招聘群6K+ 95926136
2015-03-20 09:02
asmdaydream
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:中原
等 级:版主
威 望:13
帖 子:257
专家分:840
注 册:2009-5-10
收藏
得分:0 
select * from a a,b b where a.b_id = b.id and a.name in (select `name` from a a,b b where a.b_id=b.id GROUP BY a.name,b.sj,b.sj2  HAVING COUNT(*)>1 order by a.id)

常走夜路不怕黑 长沙PHP高薪招聘群6K+ 95926136
2015-03-20 09:09
快速回复:如何筛选学习多科目的学员?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084929 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved