【ITOO考试系统】——级联查询

2024-06-13 14:48
文章标签 系统 查询 考试 级联 itoo

本文主要是介绍【ITOO考试系统】——级联查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        最近在做考试系统的模板,学到了如何写级联查询,这里简单的介绍一下,如果有人在这方面有困扰,可以稍稍借

鉴一下~


       什么是级联查询


       大家做过机房收费系统应该知道,有一个组合查询,级联查询类似组合查询,不过有些微的区别。

       组合查询 : A + B + C => answer.

       级联查询: A => B => answer.


       如何实现级联查询


       实现级联查询的逻辑其实很简单,触发A的同时加载B,触发B的同时得到answer。看看我正在写的考试系统模板

的级联查询界面:



         所以在写级联查询的时候,需要先加载开考的学院,然后根据学院ID,加载课程,并通过课程和题型的对应表

tr_coursemapname查询到课程和题型的映射名,显示到界面上。整个这套级联查询的逻辑就是这样的,所以下边就

是代码部分了!

        加载学院信息:

        html代码:

<select id="academy" class="easyui-combobox" name="state" style="width: 150px; margin-right: 100px;"@* 级联查询 *@url="/BuildTemplate/academy";valueField="id" textField="value" required="true" editable="false">
</select>
   

        controller代码:

public string academy(){ //测试所用的假数据List<Combox> comboxlist = new List<Combox>();Combox combox = new Combox();combox.id="123456";combox.value="经济学院";Combox combox1= new Combox();combox1.id="1456";combox1.value = "生科学院";Combox combox2 = new Combox();combox2.id="12346";combox2.value="数信学院";Combox combox3 = new Combox();combox3.id="12345";combox3.value="体育学院";comboxlist.Add(combox1);comboxlist.Add(combox2);comboxlist.Add(combox3);JavaScriptSerializer servializer = new JavaScriptSerializer();return servializer.Serialize(comboxlist);}
       

       这样就完成加载考试学院了,然后就是触发这个combobox,然后加载课程信息

       html代码:

@* 2.根据学院信息加载课程信息 *@课程:<select name="state" id="Course" class="easyui-combobox" style="width: 150px;"@* 级联查询 *@url="/BuildTemplate/test1";valueField="id" textField="value" required="true" editable="false"></select>

       controller代码:

//获取课程信息
public string Course(string val){String value = val;List<Combox> comboxlist = new List<Combox>();Combox combox = new Combox();combox.id = "1";combox.value = "数学";Combox combox1 = new Combox();combox1.id = "2";combox1.value = "汉语言文学";Combox combox2 = new Combox();combox2.id = "3";combox2.value = "大学英语";Combox combox3 = new Combox();combox3.id = "4";combox3.value = "大学体育";comboxlist.Add(combox1);comboxlist.Add(combox2);comboxlist.Add(combox3);JavaScriptSerializer servializer = new JavaScriptSerializer();return servializer.Serialize(comboxlist);}
               然后最重要的就是javascript了:

<script type="text/javascript">$(function () {var val="";var id = "";$('#academy').combobox({       //触发学院的select事件onSelect: function () { val = $('#academy').combobox('getValue');   //获取学院的id                $('#Course').combobox({valueField: 'id',textField: 'value',editable: false,url: '/BuildTemplate/Course?val=' + val,});}});$('#Course').combobox({   //触发课程的select事件onSelect: function () {id = $('#Course').combobox('getText');                $.ajax({type: "post",url: '/ConfigurationQue/QueryExamCourseName',async: false,data: { "courseid": id },dataType: 'json',success: function (data) {try {var coursename = data[0].ExamCourseName;$("#mapname").val(coursename);}catch (Exception) {alert("无映射名记录,请输入映射名!");$("#mapname").val("");$("#mapname").focus();}}});}})})
</script>
              然后就是通过课程ID加载映射名啦!

        controller代码:

public JsonResult mapname(String id){ String value = id;JsonResult js = new JsonResult();js.Data = value;return js;}


       这样整个级联查询就OK了!看看效果!





        当当当当!!!肿么样!是不是棒棒哒?!


这篇关于【ITOO考试系统】——级联查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057606

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详