php输出数据表时 字段内容相同时另一列合并

表a:
教师姓名 授课课程 授课班级 额定津贴 总津贴
王 网络 3班 1000 1000
赵 sql 3班 1000 1000
孙 c++ 3班 1000 1000
王 html 4班 1000 1000
李 java 4班 1000 1000
赵 oracle 4班 1000 1000
怎么样让输出的结果是
教师姓名 授课课程 授课班级 额定津贴 总津贴
网络 3班 1000
王 2000
html 4班 1000
李 java 4班 1000 1000
oracle 4班 1000 1000

sql 3班 1000 1000
孙 c++ 3 班 1000 1000

稍等下,我给你个Demo,你看看是否和你的需求一致,下图是效果图:

Demo已经上传到附件了....

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-18
首先计算出每位老师有多少个课程:select 表a.教师姓名, count(*) as count from 表a group by 表a.教师姓名,然后根据count的数量,php动态生成td标签的rowspan属性。追问

但是输出 授课课程的时候只能输出一个 不知道什么情况 求您的直接代码

追答

比如王的count=2
那么下面的合并单元格输出代码应该为: >
后面的内容按照正常"select * from table where 教师姓名= ".$row[教师姓名]。再进行一次query即可得到。

第2个回答  2014-12-18
<?php
//假设$name为老师的名字,不过这里做用老师的$nameid吧
$a = mysql_query("select * from $table");
$b = array();
while($row = myslq_fetch_assoc($a)){
// $b[$name][] = $row;
$b[$nameid][] =$row;
}
?>
最后你上你的代码给我看,查数据库的代码追问

这个貌似合并不了啊

追答

我不是合并,为是把有属性一样的,也就是教师名称一样的,塞到同一个数组里面而已,这完全是可以的

本回答被网友采纳
第3个回答  2014-12-18
输出的时候,if判断。追问

可以具体一点吗

追答

输出的数据,用if 判断 额定津贴 总津贴 是否相等,如果相等, 隐藏 td

追问

额可能你理解错我的意思了 第一个表是查询出来的结果 但是我想输出时候是第二个表的样式 也就是说输出时候把教师姓名相同 的 合并起来

追答

有2种方式,第一,输出的数据,判断,前面如果有重复的,就隐形第二个和后面的。
第2种方式,是 jquery 筛选 行,百度搜一下 JQuery操作表格(隔行着色,高亮显示,筛选数据)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网