找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

通达OA官网网站
搜索
查看: 6696|回复: 11

如何用php函数获取当前登录用户所在部门的部门主管姓名?

 关闭 [复制链接]

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
发表于 2014-2-15 17:45:26 | 显示全部楼层 |阅读模式
本帖最后由 cgft 于 2014-2-15 17:53 编辑

如题。
获取当前登录用户所在的部门的部门主管姓名。要求:
1、为php函数形式,(不知道是否现实,但最好能用一个select语句实现)。
2、如果部门主管空,返回空字串。
3、如果存在部门主管,则返回部门主管真实姓名;若部门主管为多人,则返回第一个人的真实姓名。

不怕见笑,弄了半天,被find_in_set和left join弄迷糊了,无奈求助版主或高手给予帮助。先表示感谢!!

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-2-17 10:00:01 | 显示全部楼层
您好,目前系统中目前没有函数直接查看部门主管姓名,您可以单独写一个查询语句,查询department表中的部门主管信息。

18

主题

73

回帖

247

牛毛

游客

积分
335
发表于 2014-2-18 16:52:08 | 显示全部楼层
直接查询数据库字段不得了!自动关联上级ID。

点评

您好,根据当前登录人员所在部门,然后查找部门的主管ID,即可获得部门主管的名字。  详情 回复 发表于 2014-2-19 09:14

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-2-19 09:14:05 | 显示全部楼层
xpmasterjp 发表于 2014-2-18 16:52
直接查询数据库字段不得了!自动关联上级ID。

您好,根据当前登录人员所在部门,然后查找部门的主管ID,即可获得部门主管的名字。

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
 楼主| 发表于 2014-2-19 15:04:29 | 显示全部楼层
弄出来了,好像靠一句SQL语句无法实现。
正好分作两个函数,可以分别查主管姓名或主管ID,用于在网页表单中自动填写数据。
版主给看看还能不能再优化一下。

function GetLoginUserDept_Mager() {        //得到当前用户所在部门的部门主管姓名,若有多人则仅取首个;如果要全取,则更简单。
        $LoginUserDepMgID=GetLoginUserDept_MagerID();
        if ($LoginUserDepMgID=="") return "";
        $query="select USER_NAME from user where USER_ID='".$LoginUserDepMgID."'";
        $cursor=exequery(TD::conn(),$query);
        if($ROW=mysql_fetch_array($cursor)) return $ROW["USER_NAME"];
        return "";
}

function GetLoginUserDept_MagerID() {        //得到当前用户所在部门的部门主管ID
        $query="select MANAGER from department where DEPT_ID='".$_SESSION["LOGIN_DEPT_ID"]."'";
        $cursor=exequery(TD::conn(),$query);
        if(!($ROW=mysql_fetch_array($cursor))) return "";
        $MANASEQ=$ROW["MANAGER"];
        return substr($MANASEQ,0,strpos($MANASEQ,","));
}

点评

您好,您如果要使用一条sql语句,可以通过两个表联合查询,查出来您想要的字段,您写的两个函数也实现了相同的效果。  详情 回复 发表于 2014-2-20 09:23

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-2-20 09:23:52 | 显示全部楼层
cgft 发表于 2014-2-19 15:04
弄出来了,好像靠一句SQL语句无法实现。
正好分作两个函数,可以分别查主管姓名或主管ID,用于在网页表单中 ...

您好,您如果要使用一条sql语句,可以通过两个表联合查询,查出来您想要的字段,您写的两个函数也实现了相同的效果。

点评

可以麻烦您抽空把两个表联合查询的代码写一下吗? 我就是一遇到联合查询就迷糊,玩不转。试了好长时间也没写出来。如果您能给出代码,我也好体会一下如何做联合查询。  详情 回复 发表于 2014-2-21 13:37

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
 楼主| 发表于 2014-2-21 13:37:47 | 显示全部楼层

低值易耗品物料管理软件说明书,供通达OA正式用户交流用。

本帖最后由 cgft 于 2015-5-11 13:51 编辑

借用这个抽匣,存放点东西。

提前看到的朋友,先别急。与之相关的用于交流的完整程序,待就绪后即可奉上。




下载后,请关注第一页中的3点说明。谢谢!

软件说明书.pdf

1.91 MB, 下载次数: 48

点评

您好,你方便留一下qq吗,我们qq沟通一下,可以吗?  详情 回复 发表于 2014-2-21 13:42

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-2-21 13:42:08 | 显示全部楼层
cgft 发表于 2014-2-21 13:37
可以麻烦您抽空把两个表联合查询的代码写一下吗?
我就是一遇到联合查询就迷糊,玩不转。试了好长时间也 ...

您好,你方便留一下qq吗,我们qq沟通一下,可以吗?

点评

见站内短信  详情 回复 发表于 2014-2-23 12:17

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
 楼主| 发表于 2014-2-23 12:17:07 | 显示全部楼层
通达赵晓波 发表于 2014-2-21 13:42
您好,你方便留一下qq吗,我们qq沟通一下,可以吗?

见站内短信

点评

您好,已经加您qq。  详情 回复 发表于 2014-2-24 09:25

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-2-24 09:25:53 | 显示全部楼层
cgft 发表于 2014-2-23 12:17
见站内短信

您好,已经加您qq。

点评

select user.USER_NAME from department,user where user.DEPT_ID='".$_SESSION["LOGIN_DEPT_ID"]."' and FIND_IN_SET( user.USER_ID, department.MANAGER);  详情 回复 发表于 2014-2-28 10:52
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

咨询电话:400 818 0505 通达OA,国内协同管理软件行业内唯一的央企单位,中国协同OA软件的领跑者,优秀协同办公解决方案供应商

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|由NB5牛论坛提供技术支持NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-27 01:37 , Processed in 0.735120 second(s), 72 queries .

Powered by Discuz

Copyright © 2001-2025, 北京通达信科科技有限公司.

快速回复 返回顶部 返回列表