easyui 添加下拉框数据_PHP数据库动态获取部门信息

ae9817a35b959c9d1f76d1b960ea79ea.png点击蓝字关注我们

PHP数据库动态获取部门信息

一、案例描述

1、 考核知识点

SQL的连表查询

2、 练习目标

Ø 熟练掌握连表查询,能够根据需求修改现有代码以实现功能

3、 需求分析

在添加员工信息时,一般员工所属部门是不允许用户手动输入的,而是通过动态查询数据库,获取到部门表数据,以下拉菜单的形式展示到表单中,以供选择。下面就在【案例3-1】的基础上,完成员工添加及修改时动态获取部门信息的功能。

4、 设计思路

1) 修改showList.php文件的SQL语句,使用连接查询完成数据获取。

2) 在显示添加表单前获取部门表数据。

3) 在添加员工页面中以下拉菜单来展现部门数据。

4) 修改empAdd.php文件中保存合法字段的$fields变量。

5) 在显示修改表单前获取到部门数据。

6) 在修改员工页面中以下拉菜单来展现部门数据。

7) 修改empUpdate.php文件中保存合法字段的$fields变量。

二、案例实现

1、修改empAdd.php文件,在显示添加表单前需要获取部门表数据,具体代码如下:

……

//没有表单提交时,显示员工添加页面,从部门表获取部门信息

//编写SQL语句,用于查询部门表数据

$sql = 'select * from emp_dept';

//调用fetchAll()函数,执行SQL并进行数据处理,把处理后的部门数据赋值给$emp_dept

$emp_dept = fetchAll($sql);

//显示员工添加页面

define('APP', 'itcast');

require './add_html.php';

上述代码中,在展示添加员工表单前,先通过执行“select * from emp_dept”获取到了部门信息,然后再载入员工添加页面add_html.php。

3、修改add_html.php文件,在添加员工页面中以下拉菜单来展现部门数据,关键部分代码如下:

……

所属部门:

--以下为select下拉框的关键代码-->

—select下拉框结束-->

……

在上述代码中,主要将原本部门的输入文本框变为了下拉菜单,在其中使用foreach将保存部门信息的数组进行遍历,放入到标签中。需要注意的是,标签的value值需要保存的是部门ID,而非部门名称,表单实际提交的将会是部门ID。

此时访问showList.php文件,并点击“添加员工”链接,跳转到员工添加页面,运行结果如下图所示。

2d6f5c4f4835b98ec3fd7fc428c891d7.png

从上图可以看到,员工所属部门已经全部获取并显示到了下拉菜单中。

4、由于表示员工所属部门的表单元素的name属性不再是e_dept,而变成了d_id。因此需要修改empAdd.php文件中保存合法字段的$fields变量,修改代码如下:

//声明变量$value,用来保存字段信息

$fields = array('e_name', 'd_id', 'date_of_birth', 'date_of_entry');

完成上述修改后,动态获取部门信息并添加员工数据的功能就可以实现了。

5、修改empUpdate.php文件,与员工添加类似,在显示修改表单前先获取到部门数据,具体代码如下:

……

//当没有表单提交时,查询当前要编辑的员工信息,展示到页面中

//编写SQL语句,查询相应ID的员工数据

$sql = "select * from `emp_info` where `e_id` = $e_id";

//使用fetchRow()函数处理数据

$emp_info = fetchRow($sql);

//编写SQL语句,查询所有部门信息数据

$sql = 'select * from emp_dept';

$emp_dept = fetchAll($sql);

//显示员工修改页面

define('APP', 'itcast');

require './update_html.php';

上述代码中,在展示修改员工表单前,先通过执行“select * from emp_dept”获取到了部门信息,然后再载入员工添加页面update_html.php。

6、修改update_html.php文件,与员工添加页面类似,需要修改表单以显示部门信息,关键部分代码如下:

……

所属部门:

—下拉菜单开始-->

—在输出每个部门信息时,判断是否为该员工当前所属部门,如果是设置为默认-->

><?php echo $row['d_name']; ?>

—下拉菜单结束-->

……

上述代码,显示部门信息的过程与员工添加基本一致。唯一不同的是,需要在遍历部门信息时,与员工所属部门ID进行比较,以便将员工当前所属的部门设置为下拉菜单的默认项。

7、由于表示员工所属部门的表单元素的name属性不再是e_dept,而变成了d_id。因此需要修改empUpdate.php文件中保存合法字段的$fields变量,修改代码如下:

//声明变量$value,用来保存字段信息

$fields = array('e_name', 'd_id', 'date_of_birth', 'date_of_entry');

至此就完成了在添加和修改员工时,动态获取部门信息的功能。

三、案例总结

1、在select下拉菜单中,option的值表示员工所属的部门,而员工表中保存的部门信息是其部门id,因此option的值也是部门id。

  2、在添加和修改员工信息时,都需要经过字段合法性验证。而在修改表结构后,员工表字段发生了变化,因此需要修改保存合法字段的变量数组。

2952c01e4dc853b9582553374f648d8b.png 351e004f8bda924c37110da18510e241.png公众号名字:帮我作业网 网站地址 http://www.webtmall.com/扫码关注最新动态更多精彩,点击下方“
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值