php分组查全部数据 php分类查找如何实现

PHP查询信息通过分组名字查出该分组下所有的成员

?php

创新互联建站是网站建设技术企业,为成都企业提供专业的成都网站设计、网站制作,网站设计,网站制作,网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制适合企业的网站。10年品质,值得信赖!

if($_POST['cid']){//拿到分组的ID值

$sql  = "SELECT * FROM `deptuser` WHERE `cid` = ".$_POST['cid'];

$result = mysql_query($sql);

if($result  mysql_num_rows($result)){

while($rows = mysql_fetch_assoc($result)){

$arr[] = $rows;

}

}else{

   echo "没有成员数据";

}

}

foreach ($arr as $key = $value) {

if ($key == 'uid') {

$newname['name'] = getUserName($value);

}else{

$newname[$key] = $value;

}

}

//这个就是分组下带用户名的数组

print_r($newname);

function getUserName($uid){

$sql = "SELECT name FROM `user` WHERE `uid` = ".$uid;

$result = mysql_query($sql);

if ($result) {

$rows = mysql_fetch_assoc($result);

return $rows;

}else{

echo "查询没有用户名";

}

}

?

//也可以这样 

//?php

$sql = "SELECT a.name,a.id,b.uid,b.cid FROM user as a,deptuser as b WHERE a.uid = b.uid AND b.cid = ".$_POST['cid'];

?

望采纳 Thx

Thinkphp数据查询group分组如何取每组的最新记录

本人用ThinkPHP3.2,今天正在开发一个需要分组显示的功能,可是从数据库中把相应数据读取后直接用group分组,结果每组显示的是最老的记录,我的需求是要显示每组的最新记录。在网上大搜一翻后,未果,本人决定自行研究,现将方法记录于此以防遗忘。

其实很简单,以供就两步:

第一步:

将符合条件的数据全部取出,暂不用group分组,作为子查询:

[php] view plain copy

$subQuery = $model-field('id,name')-table('tablename')-where($where)-order('time desc')-select(false);

第二部:

利用子查询进行查询分组

[php] view plain copy

$model-table($subQuery.' a')-group('field')-select();span style="font-family: Arial, Helvetica, sans-serif;" /span

好了,思路就是这样。希望对大家有帮助!

THINKPHP中怎么对数据进行分组查询?

分组查询原理都是SQL的分组查询,THINKPHP中只是用到他自己的一些自定义的方法!比如 join()、group()、having()方法等,实际对应的也是SQL里的这些关键字!

例如本次需求是要按照cid进行分组,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,这样就能按照cid进行分组筛选!然后使用THINKPHP的时候则使用 M('表名')-group('cid')-select(); 实际生成的语句和原始SQL代码是一样的。


标题名称:php分组查全部数据 php分类查找如何实现
当前网址:http://hbruida.cn/article/doepghh.html