第四篇 《随机点名答题系统》——基础设置详解(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)

        

目录

1.功能需求 

2.数据库设计

3.流程设计 

4.关键代码 

4.1.设置题库 

4.1.1数据请求示意图  

4.1.2选择题库(index.php)数据请求代码 

 4.1.3取消题库(index.php)数据请求代码 

4.1.4业务处理Service(xztk.php) 

4.1.4.1代码

4.1.4.2业务处理逻辑流程图

4.2.设置答题人员

 4.2.1数据请求示意图

4.2.2选择答题人员(index.php)数据请求代码

4.2.3取消答题人员(index.php)数据请求代码

4.2.4业务处理Service(xzfz.php)

4.2.4.1代码

4.2.4.2业务处理逻辑流程图


        随机点名答题系统(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统),是基于php(8.2.11),JavaScrip,MySQL开发的轻量化点名答题系统,分为数据管理和前端两部分。主要解决了随机抽点人员和随机抽点题目结合的业务需求,有很强的实用意义。

1.功能需求 

        需求点—— 

1.对人员进行分组,按分组进行数据准备,可多分组抽取;

2.对试题进行分组,按分组进行数据准备,可多分组抽取;

         针对以上需求,系统设计了【设置题库】和【设置答题人员】、【程序初始化】3个功能模块。 

        【设置题库】选取需要作答的题库进入题库数据池,具有题库选择、取消、查询操作。

         【设置答题人员】需求需要进行作答的人员分组进入人员数据池,具有选择、取消、查询功能。

        【程序初始化】是将题库数据和人员数据进行数据加载和格式化,为后续抽点答题做准备。

2.数据库设计

        设计了基础设置1张数据表,用于存储题库数据和人员数据信息。

         表结构 :

基础设置表结构

3.流程设计 

        基础设置包括设置题库、设置答题人员、程序初始化3个模块。基本流程是:首先选择需要抽取的题库或者取消不需要抽取的题库,完成题库数据的选取,然后对答题人员进行选择和移除,设置完题库和人员后即可对程序进行初始化以加载题库数据和人员数据,完成抽点答题的数据准备。 

4.关键代码 

4.1.设置题库 

4.1.1数据请求示意图  

4.1.2选择题库(index.php)数据请求代码 

function  xztk_btn(tkmc){php_reload("xztk.php","#main_php",{tkmc:tkmc,flag:"xz"});}

 4.1.3取消题库(index.php)数据请求代码 

function  qxtk_btn(tkmc){php_reload("xztk.php","#main_php",{tkmc:tkmc,flag:"qx"});}

4.1.4业务处理Service(xztk.php) 

4.1.4.1代码
//打开数据库链接
$dbUtil = new \util\DBUtil();
$conn = $dbUtil->connect();$flag = $_POST['flag'];$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");
$tkmcs = array();
if (sizeof($rows_jcsz)>0){//判断是否在基础设置表里已经有数据,如果已经存在,那么进行修改操作,否则就新增一条$rows_jcsz2 = $rows_jcsz[0];if ($flag == 'xz'){//选择题库操作,数据存入基础设置表tk字段格式为:题库1|题库2|题库3$tkmc = $_POST['tkmc'];$tkmc = $tkmc.'|'.$rows_jcsz2['tk'];$data = array(\util\Config::$tk=>$tkmc);$dbUtil->update($conn,'t_jcsz',$data," id = '".$rows_jcsz2['id']."'");}if ($flag == 'qx'){//取消题库操作,从基础设置表tk字段中剔除相应题库$yctk = '';$tkmc = $_POST['tkmc'];$yctks = explode('|',$rows_jcsz2['tk']);for ($i=0;$i<sizeof($yctks)-1;$i++){if ($yctks[$i] != $tkmc){$yctk = $yctks[$i].'|'.$yctk;}}$data = array(\util\Config::$tk=>$yctk);$dbUtil->update($conn,'t_jcsz',$data," id = '".$rows_jcsz2['id']."'");}$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");$rows_jcsz2 = $rows_jcsz[0];if ($rows_jcsz2['tk'] != ""){$tkmcs = explode('|',$rows_jcsz2['tk']);}
}else{if ($flag == 'xz'){$tkmc = $_POST['tkmc'];$dbUtil->add($conn,"t_jcsz",array("id"=>time(),"tk"=>$tkmc,"zb"=>""));$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");$rows_jcsz2 = $rows_jcsz[0];$tkmcs = explode('|',$rows_jcsz2['tk']);}
}$where = " 1=1 ";if ($flag == 'cx'){//查询操作$tkmc = $_POST['tkmc'];$cjz = $_POST['cjz'];if ($tkmc != ""){$where = $where." and tk like '%".$tkmc."%' ";}if ($cjz != ""){$where = $where." and cjz like '%".$cjz."%'";}$where = $where." order by rq desc";$rows = $dbUtil->select($conn,"t_tiku",$where);
}else{$rows = $dbUtil->select($conn,"t_tiku","1=1 order by rq desc");
}//关闭数据库链接
$dbUtil->close($conn);
4.1.4.2业务处理逻辑流程图

4.2.设置答题人员

 4.2.1数据请求示意图

4.2.2选择答题人员(index.php)数据请求代码

function  xzzb_btn(id){php_reload("xzfz.php","#main_php",{zb:id,flag:"xz"});}

4.2.3取消答题人员(index.php)数据请求代码

function  qxzb_btn(id){php_reload("xzfz.php","#main_php",{zb:id,flag:"qx"});}

4.2.4业务处理Service(xzfz.php)

4.2.4.1代码
$flag = $_POST['flag'];//打开数据库链接
$dbUtil = new \util\DBUtil();
$conn = $dbUtil->connect();$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");
$zbs = array();
if (sizeof($rows_jcsz)>0){$rows_jcsz2 = $rows_jcsz[0];if ($flag == 'xz'){$zbid = $_POST['zb'];$zbid = $zbid.'|'.$rows_jcsz2['zb'];$data = array(\util\Config::$zb=>$zbid);$dbUtil->update($conn,'t_jcsz',$data," id = '".$rows_jcsz2['id']."'");}if ($flag == 'qx'){$yczb = '';$zbid = $_POST['zb'];$yczbs = explode('|',$rows_jcsz2['zb']);for ($i=0;$i<sizeof($yczbs)-1;$i++){if ($yczbs[$i] != $zbid){$yczb = $yczbs[$i].'|'.$yczb;}}$data = array(\util\Config::$zb=>$yczb);$dbUtil->update($conn,'t_jcsz',$data," id = '".$rows_jcsz2['id']."'");}$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");$rows_jcsz2 = $rows_jcsz[0];if ($rows_jcsz2['zb'] != ""){$zbs = explode('|',$rows_jcsz2['zb']);}
}else{if ($flag == 'xz'){$zbid = $_POST['zb'];$dbUtil->add($conn,"t_jcsz",array("id"=>time(),"tk"=>"","zb"=>$zbid));$rows_jcsz = $dbUtil->select($conn,"t_jcsz"," 1=1 ");$rows_jcsz2 = $rows_jcsz[0];$zbs = explode('|',$rows_jcsz2['zb']);}
}if ($flag == 'cx'){$zb = $_POST['zb'];$where = " 1=1 ";if ($zb != ""){$where = $where." and zb like '%".$zb."%' ";}$where = $where." order by xh asc";$rows = $dbUtil->select($conn,"t_zubie",$where);
}else{$rows = $dbUtil->select($conn,"t_zubie"," 1=1 order by xh asc");
}
//关闭数据库链接
$dbUtil->close($conn);
4.2.4.2业务处理逻辑流程图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/190204.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JUC并发工具-CAS机制

面试的时候经常被问到锁、JUC工具包等相关内容&#xff0c;其中CAS机制是必问题目&#xff0c;以下简单总结CAS的机制、CAS产生的ABA现象、CAS产生的ABA现象解决思路 1.什么是CAS&#xff1f; CAS&#xff08;Compare and Swap&#xff09;是一种多线程同步的原子操作&#xf…

【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Nacos 一、nacos实现配置管理1.1 统一配置管…

生成式AI模型量化简明教程

在不断发展的人工智能领域&#xff0c;生成式AI无疑已成为创新的基石。 这些先进的模型&#xff0c;无论是用于创作艺术、生成文本还是增强医学成像&#xff0c;都以产生非常逼真和创造性的输出而闻名。 然而&#xff0c;生成式AI的力量是有代价的—模型大小和计算要求。 随着生…

基础模型的自然语言处理能力综述

NLP作为一个领域为基础模型开辟了道路。虽然这些模型在标准基准测试中占据主导地位&#xff0c;但这些模型目前获得的能力与那些将语言描述为人类交流和思维的复杂系统的能力之间存在明显的差距。针对这一点&#xff0c;我们强调语言变异的全部范围&#xff08;例如&#xff0c…

H5ke11--1登录界面一直保存--用本地localStorage存储

目录 代码详解 localStage优点 :一直保存着 注意事项: storage属性们 代码详解 ke8学校陈老师H5-CSDN博客文章浏览阅读76次。实现H5中新增的三个元素&#xff1a;forEach的使用方法。https://blog.csdn.net/m0_72735063/article/details/134019012即此之后 当然可以分为按…

记一次用jlink调试正常,不进入调试就不能运行的情况

一、概述 我开机会闪烁所有指示灯&#xff0c;但是重新上电时&#xff0c;指示灯并没有闪烁&#xff0c;就像"卡死"了一样。 使用jlink的swd接口进行调试&#xff0c;需要多点几次运行才能跳转到main函数里面。 调试模式第一次点击运行&#xff0c;暂停查看函数堆栈…

Flask学习一:概述

搭建项目 安装框架 pip install Flask第一个程序 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return "Hello World"if __name__ __main__:app.run()怎么说呢&#xff0c;感觉还不错的样子。 调试模式 if __name__ __main__:a…

Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态

Vue.js2Cesium1.103.0 十四、绘制视锥&#xff0c;并可实时调整视锥姿态 Demo <template><divid"cesium-container"style"width: 100%; height: 100%;"><divclass"control"style"position: absolute;right: 50px;top: 50px…

第十九章 绘图

目录 Java绘图类 Graphics 类 Graphics2D类 绘制图形 绘图颜色与画笔属性 设置颜色 设置画笔 绘制文本 设置字体 显示文字 显示图片 图像处理 放大与缩小 图像翻转 图像旋转 图像倾斜 Java绘图类 Graphics 类 Grapics 类是所有图形上…

MidJourney笔记(2)-面板使用

MidJourney界面介绍 接着上面的疑问。U1、U2、U3、U4、V1、V2、V3、V4分别代表着什么? U1、U2、U3、U4: U按钮是用于放大图片,数字即表示对应的图片,可以立即生成1024X1024像素大小的图片。这样大家在使用的时候,也方便单独下载。 其中数字顺序如下:

2023-11-18 Android Linux资源限制命令 ulimit,比如ulimit -d 是设置进程占用的最大数据段大小,默认是unlimited。

一、通过ulimit -a 命令可以查看当前的各种资源限制&#xff0c;比如ulimit -d 是 进程占用的最大数据段大小。 # ulimit -a -t: time(cpu-seconds) unlimited -f: file(blocks) unlimited -c: coredump(blocks) 0 -d: data(KiB) unlimited -s:…

屏蔽bing搜索框的今日热点

中国版的Bing简直比百度还恶心了&#xff0c;“今日热点”要是在搜索设置里关闭了就没法提供搜索建议了&#xff0c;不关吧看着又烦人&#xff0c;就像下图这样。另外还有右上角的下载bing app和Rewards图标也闲着没啥用&#xff0c;Rewards图标还老有小红点&#xff0c;真受不…