我正在开发一个下拉菜单,该菜单使用HTML optgroups作为员工所属的组名。这是MySQL查询和输出:

mysql> SELECT employee.emp_id,employees.empname,employees.grp_id,groups.groupname FROM雇员离开的雇员加入员工组。grp_id= groups.grp_id,按组名asc排序;

+ -------- + ------------ + -------- + ----------- +

| emp_id | empname | grp_id | 组名|

+ -------- + ------------ + -------- + ----------- +

| 20 | 员工2 | 13 | 第1组|

| 19 | 员工1 | 13 | 第1组|

| 21 | 员工3 | 14 | 第2组|

+ -------- + ------------ + -------- + ----------- +

设置3行(0.00秒)

唯一的问题是,我很难确定如何使optgroup正常工作。我尝试了无数次,这真的开始让我感到沮丧。 以下是我想要的输出示例(示例):

Employee 2

Employee 1

Employee 3

基本上,optgroup必须是“ groupname”,选项“ name”应该是“ emp_id”,而动作“ option”(下拉项)是“

empname”。

我希望这是可以做的,但是真的不确定。这是我所拥有的功能,但无法正常运行:

function getDynGrpList() {

global $db;

// $query = "SELECT * FROM employees ORDER BY grp_id desc;";

$query = "SELECT employees.emp_id,employees.empname,employees.grp_id,groups.groupname FROM employees left join groups on employees.grp_id = groups.grp_id order by groupname asc;";

$employees = $db->GetAll($query);

$groups = array();

while ($qa = $employees->GetRows()) {

$groups[$qa['groupname']][$qa['grp_id']] = $qa['empname'];

}

foreach ($groups as $label => $opt) { ?>

foreach ($groups[$label] as $id => $name) { ?>

从凌晨3:15 CST(2/27)开始的getDynGrpList函数:

function getDynGrpList() {

global $db;

// $query = "SELECT * FROM employees ORDER BY grp_id desc;";

$query = "SELECT employees.emp_id,employees.empname,employees.grp_id,groups.groupname FROM employees left join groups on employees.grp_id = groups.grp_id order by groupname asc;";

$employees = $db->GetAll($query);

$groups = array();

while ($qa = $employees->GetRows()) {

$groups[$qa['groupname']][$qa['emp_id']] = $qa['empname'];

}

var_export($groups);

foreach($groups as $label => $opt): ?>

<?php foreach ($opt as $id => $name): ?>

}

最终解决方案(在Felix Kling的帮助下)

function getDynGrpList() {

global $db;

$query = "SELECT employees.emp_id,employees.empname,employees.grp_id,groups.groupname FROM employees left join groups on employees.grp_id = groups.grp_id order by groupname asc;";

$employees = $db->GetAll($query);

$groups = array();

foreach ($employees as $employee) {

$groups[$employee['groupname']][$employee['emp_id']] = $employee['empname'];

}

foreach($groups as $label => $opt): ?>

<?php foreach ($opt as $id => $name): ?>

}

php单表显示动态下拉框,PHP:使用optgroup动态下拉列表相关推荐

  1. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML>     <HEAD>         < ...

  2. Easyexcel生成excel并通过自定义注解实现下拉框以及动态下拉框(将数据库中的数据显示在excel下拉框中)

    首先需要定义excel实体类 @Data @ColumnWidth(22) @HeadRowHeight(30) public class ExcelProductDTO {//动态下拉框,可以查询数 ...

  3. jqgrid的动态下拉框实现,并解决不能获取值的问题

    使用jqgrid,要实现在单元格中的动态下拉框,废话不多说,上代码: var gridOption = $("#inLineItemEditList").jqGrid({url: ...

  4. html下拉框只选择年份和月份,原生jQuery实现只显示年份下拉框

    本文实例为大家分享了jQuery实现只显示年份下拉框的具体代码,供大家参考,具体内容如下 代码: Document 1949 var date = new Date(); var y = date.g ...

  5. Python selenium定位动态下拉框

    Python selenium定位动态下拉框 1.下拉框元素需要点击控件才展示 这里可以使用XPAN定位到下拉框,使用driver.find_element(By.XPATH,"路径&quo ...

  6. html只选择年份,原生jQuery实现只显示年份下拉框

    本文实例为大家分享了jQuery实现只显示年份下拉框的具体代码,供大家参考,具体内容如下 代码: Document 1949 var date = new Date(); var y = date.g ...

  7. bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...

  8. vue iview动态循环的表单里的select下拉框的值不能重复选择

    先上效果图: 实现 1.循环显示名称下拉框 <!-- 成本中心 --> <div v-for="(item,index) in costAllocationForm.app ...

  9. axure 9 如何根据下拉框选值,动态展现内容

    一.遇到的问题: 在固定的文本框,需要根据选择的下拉框的值,显示不同的内容,通过axure画原型时该如何实现呢? 二.实现步骤 1.在axure中拖如一个下拉框,并填写候选值,如下图所示, 2.在页面 ...

  10. antdesign的表单中的下拉框设置默认值BUG处理

    问题: 使用 antdesign 下拉框的默认值是状态值,而不是状态值对应的文案? model层传递的数据 view层在表单中设置的值 解决方案: 在默认值的后面加上一个空字符串进行转换

最新文章

  1. 5月23日任务 LAMP架构介绍、MySQL、MariaDB介绍、 MySQL安装
  2. 【PAT甲级 十进制转十三进制】1027 Colors in Mars (20 分) Java版 5/5通过
  3. Java 变量、数据类型
  4. 3w最简单led灯电路图_Mixly 第19课 光感应灯——光敏电阻使用
  5. FCPX无缝扭曲过渡转场Twirl Transition Pack for Mac
  6. 在GridView里使用CheckBox
  7. 【Java数据结构与算法】第十八章 动态规划和KMP算法
  8. 九阳股份:公司部分产品已开始对接使用华为鸿蒙系统
  9. GNU make manual 翻译(三)
  10. HD 2177(威佐夫博弈 入门)
  11. android短信验证码登录,Android注册登录实时自动获取短信验证码
  12. 持安科技孙维伯:实战零信任最佳实践
  13. python一行输入两个数据中间用空格隔开
  14. java计算机毕业设计计算机课程在线培训学习管理系统MyBatis+系统+LW文档+源码+调试部署
  15. 8个微信实用技巧,你知道多少?
  16. 10杯水只有一滴有毒,用四只老鼠测试,二进制的方法快速找出哪瓶有毒;
  17. 最全的网站推广方案(SEO)
  18. 最近电平接近 NLM 模块化多电平变换器matlab/simulink仿真模型
  19. java swing(GUI) MySQL实现的学生选课签到考勤系统源码开发教程
  20. 马尔可夫决策过程(Markov Decision Process)学习笔记

热门文章

  1. iptables 添加,删除,查看,修改
  2. glib-2.28.6 的编译和安装 以及错误的解决方法
  3. 【拔刀吧少年】之shell数组
  4. jenkins 下载插件 一直失败_Jenkins安装与插件下载
  5. shell 目录下文件名放入循环_批量删除同一目录下的文件名前缀
  6. 设置计算机关机静音,Shortcuts 捷径控制 Windows 电脑:静音开关、音量调节、待机、关机...
  7. 如何用视频云技术,搞一个爆红的 “反应视频” 项目?
  8. 深耕边缘计算 揭秘阿里云边缘云网一体化的技术实践
  9. 云时代的智能运维平台,助力企业创新迭代
  10. 数据复盘《糖豆人》爆火营销过程:怎么做到以小博大?