首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Codeigniter下拉列表中显示类别和多级子类别

在Codeigniter下拉列表中显示类别和多级子类别,可以按照以下步骤进行操作:

  1. 创建数据库表:首先,创建一个数据库表来存储类别和子类别的信息。表可以包含以下字段:id(唯一标识符),name(类别名称),parent_id(父类别ID)。
  2. 模型(Model):创建一个模型来处理数据库操作。在模型中,编写方法来获取类别和子类别的数据。可以使用Codeigniter的数据库查询构建器来执行查询操作。
  3. 控制器(Controller):创建一个控制器来处理页面逻辑。在控制器中,调用模型中的方法来获取类别和子类别的数据,并将数据传递给视图。
  4. 视图(View):创建一个视图来显示下拉列表。在视图中,使用Codeigniter的表单助手函数来生成下拉列表。通过循环遍历类别和子类别的数据,将其添加到下拉列表中。

下面是一个示例代码:

模型(Category_model.php):

代码语言:txt
复制
<?php
class Category_model extends CI_Model {
    public function getCategories() {
        $query = $this->db->get('categories');
        return $query->result_array();
    }

    public function getSubcategories($parent_id) {
        $this->db->where('parent_id', $parent_id);
        $query = $this->db->get('categories');
        return $query->result_array();
    }
}
?>

控制器(Category.php):

代码语言:txt
复制
<?php
class Category extends CI_Controller {
    public function index() {
        $this->load->model('category_model');
        $data['categories'] = $this->category_model->getCategories();
        $this->load->view('category_view', $data);
    }

    public function getSubcategories() {
        $parent_id = $this->input->post('parent_id');
        $this->load->model('category_model');
        $data['subcategories'] = $this->category_model->getSubcategories($parent_id);
        $this->load->view('subcategory_view', $data);
    }
}
?>

视图(category_view.php):

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
    <title>Category Dropdown</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>Category Dropdown</h1>
    <select id="category">
        <option value="">Select Category</option>
        <?php foreach ($categories as $category): ?>
            <option value="<?php echo $category['id']; ?>"><?php echo $category['name']; ?></option>
        <?php endforeach; ?>
    </select>

    <select id="subcategory">
        <option value="">Select Subcategory</option>
    </select>

    <script>
        $(document).ready(function() {
            $('#category').change(function() {
                var parent_id = $(this).val();
                $.ajax({
                    url: '<?php echo base_url("category/getSubcategories"); ?>',
                    type: 'post',
                    data: {parent_id: parent_id},
                    dataType: 'json',
                    success: function(response) {
                        var options = '<option value="">Select Subcategory</option>';
                        $.each(response.subcategories, function(index, subcategory) {
                            options += '<option value="' + subcategory.id + '">' + subcategory.name + '</option>';
                        });
                        $('#subcategory').html(options);
                    }
                });
            });
        });
    </script>
</body>
</html>

视图(subcategory_view.php):

代码语言:txt
复制
<?php foreach ($subcategories as $subcategory): ?>
    <option value="<?php echo $subcategory['id']; ?>"><?php echo $subcategory['name']; ?></option>
<?php endforeach; ?>

以上代码中,模型中的getCategories()方法用于获取所有类别的数据,getSubcategories($parent_id)方法用于根据父类别ID获取对应的子类别数据。控制器中的index()方法用于加载初始页面,getSubcategories()方法用于处理AJAX请求,返回子类别数据。视图中的category_view.php用于显示下拉列表,subcategory_view.php用于返回子类别选项。

在Codeigniter中,可以使用$this->db->get()方法执行数据库查询,$this->db->where()方法设置查询条件。视图中使用了jQuery的AJAX方法来处理异步请求,根据选择的类别动态加载对应的子类别选项。

这样,当用户选择类别时,会触发AJAX请求,后台会根据选择的类别ID获取对应的子类别数据,并将数据返回给前端,前端再将数据添加到下拉列表中显示出来。

请注意,以上示例代码仅供参考,具体实现方式可能因项目需求和环境而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WebGestalt 2019在线工具

3.2 对如果用户选择12个有机体的一个,则有一个下拉菜单来显示八个类别:遗传本体论、路径、网络、表型、疾病、药物、染色体位置Others(其他)选项。...选择除了Others之外的七类的一个后,该类的详细数据库名称将显示在另一个下拉菜单。...当类别的FDR小于或等于0.05时,条形图的颜色较暗,而FDR大于0.05的类别的颜色处于较浅的阴影。右键单击绘图将显示下载按钮,可将其保存为SVGPNG格式。...火山图显示了搜索数据库中所有类别的FDR相对于富集率或NES的对数。重要类别将在上方显示,网点的大小颜色深度与类别的大小成正比。...对于ORA,会用Venn图显示输入的基因和数据库的基因之间的重叠情况。 对于GSEA,则显示排序分布表示峰值位置的富集图所取代。

3.6K00

xwiki开发者指南-一分钟创建App

你可以选择: live table显示哪些列表 你的应用程序在应用程序面板 (XE 4.2开始)显示的图标 ?...) sheet,用于显示编辑应用程序条目( Holiday RequestSheet) template,当创建一个新的应用程序条目,编辑时提供默认值 (Holiday RequestTemplate...给予应用程序创建者对应用程序主页页面管理权限(这样他就可以删除所有应用程序页面) 分离代码和数据优点: 通过在数据页面页面设置拒绝编辑权限来对一些用户隐藏Edit application选项。...你可以控制字段类别列表每个类别字段类型。字段类别由AppWithinMinutes.FormFieldCategoryClass确定。可以在wiki页面添加这个类的一个对象,使之成为字段类别。...正如你可以看到这个类只有一个属性,priority,用于指定在字段配置面板的类别列表的位置。类别标题实际上是wiki页面的标题。

8.2K30

测试用例(功能用例)——完整demo(一千多条测试用例)

(来自资产类别字典“已启用”状态的记录),默认为“请选择”; 供应商:必填项,从下拉菜单中选择供应商(来自供应商字典“已启用”状态的记录),默认为“请选择”; 品牌:必填项,从下拉菜单中选择品牌(来自品牌字典...,字符长度不超过30位; 资产编码:显示录入的资产编码值,只读不可修改; 资产类别:必填项,带入原值(若原资产类别已禁用,则显示“请选择”),修改时从下拉菜单中选择资产类别(来自资产类别字典“已启用”...统计时规则: 已禁用的指标选项也做统计,某供应商A已禁用,但其下资产>0,也需统计并计算占比; 某个指标选项下的资产数量为0时,不在列表及图表显示,不计算占比; 计算占比时,精确到整数位,23%;...除资产状态外,其余指标统计时,在列表及图表按照资产数量升序展示; 对于名称较长的某些指标选项,某个供应商,在图表尾部字符截断使用…表示; 行为人 资产管理员 UI页面...统计时规则: 已禁用的指标选项也做统计,某供应商A已禁用,但其下资产>0,也需统计并计算占比; 某个指标选项下的资产数量为0时,不在列表及图表显示,不计算占比; 计算占比时,精确到整数位,23%;

5K20

测试用例(功能用例)——人员管理、资产入库

资产管理员正确打开人员管理页面,数据足以分页 无 无 分页显示,在首页时首页上一页按钮灰色显示,在末页时末页下一页按钮灰色显示 低 通过 ZCGL-ST-SRS010-006 人员管理列表页 点击...,数据足以分页 无 无 分页显示,在首页时首页上一页按钮灰色显示,在末页时末页下一页按钮灰色显示 低 通过 ZCGL-ST-SRS011-006 资产入库列表页 点击【上一页】按钮 资产管理员正确打开资产入库管理页面...无 点击【资产类别】按钮 弹出资产类别下拉框,显示所有已启用、已禁用的类别 高 通过 ZCGL-ST-SRS011-102 资产查询 按资产类别列表中有数据)进行查询 资产管理员正确打开资产入库管理页面...资产类别列表中有数据 输入以上数据,点击【查询】按钮 保留查询条件,显示符合条件的资产信息 高 通过 ZCGL-ST-SRS011-103 资产查询 按资产类别列表无数据)进行查询 资产管理员正确打开资产入库管理页面...资产类别列表无数据 输入以上数据,点击【查询】按钮 保留查询条件,显示没有数据 高 通过 ZCGL-ST-SRS011-104 资产查询 【取得方式】按钮有效性验证 资产管理员正确打开资产入库管理页面

1.4K10

使用实体嵌入的结构化数据进行深度学习

嵌入(embedding)的想法来自于NLP(word2vec) 在这篇文章,我们将讨论机器学习的两个问题:第一个问题是关于深度学习如何在图像和文本上表现良好,并且我们如何在表格数据中使用它。...结构化数据是以表格形式组织的数据,其中列表示不同的特性,而行代表不同的数据样本。这类似于如何在Excel表中表示数据。...独热编码:创建二进制的特性,word_deep, word_learning, word_is。这些是属于该数据点的类别为1,其他的则为0。...这些经过训练的嵌入式设备可以被可视化,从而为每个类别提供深入的见解。在Rossmann的销售预测任务,德国各州的可视化嵌入显示了类似的各州的地理位置的集群。尽管这些地理信息都没有提供给模型。 3....以下是家得宝(美国家居连锁店)产品及其所属类别的可视化嵌入。类似的产品,烤箱、冰箱微波炉,彼此非常接近。对于像充电器、电池钻头这样的产品也是如此。

2K70

使用实体嵌入的结构化数据进行深度学习

嵌入(embedding)的想法来自于NLP(word2vec) 在这篇文章,我们将讨论机器学习的两个问题:第一个问题是关于深度学习如何在图像和文本上表现良好,并且我们如何在表格数据中使用它。...结构化数据是以表格形式组织的数据,其中列表示不同的特性,而行代表不同的数据样本。这类似于如何在Excel表中表示数据。...独热编码:创建二进制的特性,word_deep, word_learning, word_is。这些是属于该数据点的类别为1,其他的则为0。...这些经过训练的嵌入式设备可以被可视化,从而为每个类别提供深入的见解。在Rossmann的销售预测任务,德国各州的可视化嵌入显示了类似的各州的地理位置的集群。尽管这些地理信息都没有提供给模型。 3....以下是家得宝(美国家居连锁店)产品及其所属类别的可视化嵌入。类似的产品,烤箱、冰箱微波炉,彼此非常接近。对于像充电器、电池钻头这样的产品也是如此。

2.2K80

制作一个只显示特定类别的导航栏

很多博客的导航栏是显示特定的分类的,如果你也想这样做,你可以添加下面这行代码按照你自己的想法去样式化它。...> wp_list_categories 这个模板标签是用来显示分类链接列表的,你可以通过这个函数的“include” “exclude”参数来显示或者过滤某些分类。...默认情况下,wp_list_categories() 产生一个嵌套的无序列表(UL),它在一个标题为“Categories”的列表元素(li)。你可以通过 CSS 选择其莱样式化它。...其他解决方案: Display categories in horizontal Drop-Down menu -- 这个教程将说明如何使用 CSS JavaScript 制作横向显示主要类别下拉显示类别的导航栏...你可以通过插件选项页面控制什么项目(页面,分类,存档,友情链接等等)可以显示在你的下拉菜单

86320

把分类作成下拉菜单

wp_dropdown_catgories 这个 WordPress 模板函数是把分类列表显示到一个没有 submit 的按钮的下拉列表。 直接在模板文件 sidebar.php 输入 即可调用下拉分类列表。在默认情况下,它是 以类别的 id 升序排列的 不显示最新更新日期。...不显示一个分类下日志数量 不显示空的日志 不排除任何分类 显示分类名 在表单没有一个分类是被选中的 不是以层次结构显示分类 给表单名字附值为 cat 给表单的 class 赋值为 postform...下面这个例子在 HTML 的表单显示一个层次结构的分类下拉列表一个 Submit 按钮。同时显示了每个分类下的日志数并且排除了 id 为3,15,22 6这几个分类。 : <?...:http://blog.wpjam.com/?cat=18&submit=view 。不管怎么样,这个都算是一个不错的模板函数了,好好利用它,特使是当你的分类变得很多的时候。

1.5K20

BootStrap基础知识

内容需要放置在列,并且只有列可以是行的直接节点。 预定义的类 .row .col-* 可用于快速制作栅格布局。 列通过填充创建列内容之间的间隙。...根据不同荧幕设备在尾部显示弹性子元素 (右对齐) justify-content-*-center 根据不同荧幕设备在 flex 容器居中显示元素 justify-content-*-between...你可以在标准的读取图示上使用任何通用类别的颜色。 如果你不喜欢 border 读取图示,可以切换到渐变读取图示。虽然技术上来说,它不会旋转,但它会反覆渐变显示!... 元素上添加 .dropdown-menu 类来设置实际下拉式功能表,然后在下拉式功能表的选项添加 .dropdown-item 类。...可以在 标签中使用 dropdown-divider 类用于在下拉式功能表创建一个水平的分割线 dropdown-header 类用于在下拉式功能表添加标题 active 类会让下拉式功能表的选项高亮显示

21710

Excel表格的35招必学秘技

2.再在“类别”下面任选一项(“插入”选项),在右边“命令”下面任选一项(“超链接”选项),将它拖到新菜单(常用文档),并仿照上面的操作对它进行命名(“工资表”等),建立第一个工作簿文档列表名称...六、建立分类下拉列表填充项   我们常常要将企业的名称输入到表格,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。   ...4.选中C列任意单元格(C4),单击右侧下拉按钮,选择相应的“企业类别”填入单元格。...然后选中该单元格对应的D列单元格(D4),单击下拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单元格。   ...通过它你可以轻松看到工作表、单元格公式函数在改动时是如何影响当前数据的。   在“工具”菜单单击“公式审核”菜单,然后单击“显示监视窗口”按钮。

7.4K80

阿丘科技之AIDI高级应用讲解一(5)

一组图像需要有相同的命名格式(名称 - 序号 - 后缀 )长宽尺寸 名称是这一组图像也就是合成后一张图像的名称 序号是合成后图顺序 - 是分隔名称序号的标识 后缀是图像格式,一组图像必须要有相同的格式...导入混合图后,图像显示区会显示混合图每张图,通过方向键左右切换,或者通过标注工具栏图片id切换 修改混合图规格: 工程所有模块中都无图片时,在工具-设置-混合图中修改混合图规格 导入现有混合图:...每个工程的每个模块都可以独立设置显示属性。分割模块每个类别缺陷标注可以独立设置显示属性,其它模块所有类别共享一套显示属性。 5.5.2....兼容旧版本工程 打开旧版本工程后会自动使用默认显示属性 5.6 图片搜索 在图片列表顶部图片搜索栏输入图片名称然后回车即可快速在图片列表定位并显示目标图片。...5.7 数据划分 划分训练集测试集: 训练前需要将图片加入训练集(图片列表绿色三角标记),训练会学习训练集中的图片 A 手动划分:在图片列表中选中一张或多张图片,右键>>加入训练集/移出训练集 B

3.2K31

快速入门Tableau系列 | Chapter04【标靶图、甘特图、瀑布图】

其通过条状图来显示项目,进度,其他时间相关的系统进展的内在关系随着时间进展的情况。其普遍用到项目管理。...11.2 交货延期情况的甘特图 ①计划交货日期->列(显示下拉列表下面的天),供应商名称、物资类别->行 ? ?...每一个线都对应着对应的交货信息 ②显示延迟天数大小:点击实际交货日期下拉列表->创建->计算字段(延迟天数=实际交货日期-计划交货日期) ? ?...这个连接sql里面的jion一样,都是选择相同的键进行连接 下面为制作步骤: ①先做条形图:子类别->列,利润->行(下拉列表->快速表计算->汇总),利润->标签 ?...③创建新字段长方形高度:利润下拉列表->创建->计算字段(长方形高度=-利润)。长方形高度->标签、长方形高度->颜色(下拉列表->快速表计算->汇总,设置颜色格式:渐变2色,倒序) ? ?

1.8K21

第64天:CSS常用命名规范,有用!

CSS常用命名,必须记住 一、常用命名 标题:title 摘要:summary 箭头:arrow 商标:label 网站标志:logo 转角/圆角:corner 横幅广告:banner 菜单:subMenu...搜索框:searchBox 登录:login 登录条:loginbar 工具条:toolbar 下拉:drop 标签页:tab 当前的:current 列表:list 滚动:scroll 服务:service...:joinus 注册:regsiter 指南:guide 友情链接:friendlink 状态:status 版权:copyright 按钮:btn 合作伙伴:partner 投票:vote 左/右/:...登录条:loginbar 注册:register 搜索:search 功能区:shop 标题:title 加入:joinus 状态:status 按钮:btn 滚动:scroll 标签页:tab 文章列表...使用类别+功能的方式命名,: .barnews{} .barproduct{}

1.1K30

测试用例(功能用例)——资产盘点

高 通过 ZCGL-ST-SRS016-045 新增盘点单 【资产类别】按钮有效性验证 资产管理员正确打开“添加盘点资产”窗口 无 点击【资产类别】按钮 弹出资产类别下拉框,显示所有已启用、已禁用的类别...,显示符合条件的资产盘点记录 高 通过 ZCGL-ST-SRS016-047 新增盘点单 按资产类别列表无数据)进行查询 资产管理员正确打开“添加盘点资产”窗口 资产类别列表无数据 输入以上数据...高 通过 ZCGL-ST-SRS016-077 录入盘点结果 【资产类别】按钮有效性验证 资产管理员正确打开盘点结果录入页面 无 点击【资产类别】按钮 弹出资产类别下拉框,显示所有已启用、已禁用的类别...,显示符合条件的资产盘点记录 高 通过 ZCGL-ST-SRS016-079 录入盘点结果 按资产类别列表无数据)进行查询 资产管理员正确打开盘点结果录入页面 资产类别列表无数据 输入以上数据,...,显示符合条件的资产盘点记录 高 通过 ZCGL-ST-SRS016-159 查看盘点结果 按资产类别列表无数据)进行查询 资产管理员正确打开查看盘点结果页面 资产类别列表无数据 输入以上数据,

1K10

如何设计下拉菜单(技巧+实例)

什么时候适合用下拉菜单: 陈列子页面 下拉菜单通常适用于陈列所有需要展示的页面,相当于一个导航菜单,如下图: ? 博客内容分类 许多博客都会选择用下拉菜单来进行分类罗列标签。...支持键盘输入 应支持键盘输入按键,以在下拉菜单内进行导航 。在下拉菜单,访问键应允许用户在不使用鼠标的情况下快速选择可见选项。在下拉,用户应该能够键入字母、并快速导航到以该字母开头的选项。...下拉菜单原型设计: 在原型工具Mockplus,有两种设计下拉菜单的办法。 第一种,下拉列表框。直接从组件面板拖出一个下拉列表框,双击编辑文字内容即可。...从组件面板拖出一个下拉选择组件一个弹出面板,在弹出面板编辑出下拉菜单的下拉内容,再将弹出面板同下拉选择组件进行拼凑、交互。...这个办法相对复杂,但是弹出面板可以添加多种形式的内容,可以用来制作各式各样的下拉菜单。如下图就添加了矩形图标。 ?

2.9K84

Edge2AI之使用 Cloudera Data Viz 创建仪表板

在Measures列表,找到sensor_ts字段,打开其下拉菜单并单击Clone。Copy of sensor_ts将出现一个新的Measures。...单击应用以保存更改 您会注意到类别 ( Dim)、数据类型(日历图标)字段名称已更新。不过,该字段仍显示在“Measures”类别。 这只是刷新问题。...然后单击字段sensor_0sensor_1从“Measures”列表单击。这些字段将添加到“Measures”输入框。 默认情况下,这些度量使用sum()聚合函数来添加。...然后从Dimension列表单击字段sensor_timestampsensor_id。这些字段将被添加到Dimensions输入框。...这就是您的仪表板消费者将看到的:传感器读数通过流式管道进入,显示在实时仪表板,自动更新。 实验 5 - 添加图表 仪表板通常是图形图表的同义词。

3.2K20

使用管理门户SQL接口(二)

这将显示可用名称空间的列表,可以从中进行选择。 应用筛选器或从模式下拉列表中选择模式。 可以使用Filter字段通过输入搜索模式来筛选列表。...可选地,使用下拉“应用到”列表来指定要列出的项目类别:表、视图、过程、缓存查询,或以上所有。 默认为All。 在“应用到”下拉列表中指定的任何类别都受到筛选器或模式的限制。...展开类别列表,列出指定架构或指定筛选器搜索模式的项。 展开列表时,不包含项的任何类别都不会展开。 单击展开列表的项,在SQL界面的右侧显示其目录详细信息。...如果有一个显式分片键,它会显示分片键字段。 类名是在Intersystems类参考文档的相应条目的链接。类名是通过删除标点字符,标识符类实体名称中所述从表名派生的唯一包。...约束:表格的字段列表显示:约束名称,约束类型和约束数据(括号列出的字段名称)。约束包括主键,外键唯一约束。主键是定义,唯一;它仅列出一次。

5.1K10

导航设计的10种模式

一般位于产品顶部,通过点击呼出导航菜单; 通常用来筛选同一信息模块下不同类别的信息,或者快速启动某些常用的功能模块,而不需要频繁的页面跳转 ; Android对应的控件为spinner控件,但该控件用于同一类别下不同视图之间的切换...iOS中下拉菜单为自定义控件,可以实现不同类别之间的切换; 下拉导航还有一种变式,就是下来菜单展示两级甚至多级,一般在电商产品中比较常见,因为品类筛选条件众多。 ?...08 列表导航 描述: 作为信息组织框架,是我们在产品设计必不可少的一个信息承载模式。 适合用来显示较长或拥有次级文字内容的标题,每行可以融入较多信息。...与宫格导航类似,常用于二级页面,不会默认展示任何实质内容,所以通常app不会在首页使用它; 无论ios开发android 都有现成的列表布局插件模板。 ?...总结 1.底部tab式 2.顶部标签式 3.轮播式 4.宫格式 5.卡片式 6.抽屉式 7.下拉式 8.列表式 9.弹窗式 10.组合式 导航可能不单单只有这几种,可能大家的叫法也不尽相同。

3.4K40
领券