第三篇 《随机点名答题系统》——人员管理详解(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)

目录

1.功能需求

2.数据库设计

 3.流程设计

4.关键代码

4.1.人员分组

4.1.1数据请求示意图 

4.1.2添加组别(login.php)数据请求代码

4.1.3编辑组别(login.php)数据请求代码

4.1.4加入分组(login.php)数据请求代码

4.1.5移除分组(login.php)数据请求代码

 4.1.6删除分组(login.php)数据请求代码

 4.1.7 业务处理Service(zuBieService.php)

4.1.7.1代码 

4.1.4.2业务处理逻辑流程图

4.2. 人员维护

4.2.1数据请求示意图

4.2.2添加人员(login.php)数据请求代码

4.2.3编辑人员信息(login.php)数据请求代码

4.2.4删除人员(login.php)数据请求代码

4.2.5业务处理Service(renYuanSevice.php)

4.2.5.1代码

4.2.5.2业务处理逻辑流程图


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

1.功能需求

           需求点——

对人员进行分组,按分组进行数据准备。

        针对以上需求,采取了组别维护和单个人员信息维护的模式,以组别为基本数据容器,在构建组别之后向组别内加入人员。因此,系统设计了【人员分组】和【人员维护】2个功能模块。

        【人员分组】作为人员的数据容器出现,是对人员的分组和归类,具有增加分组、编辑分组、删除分组、添加人员、移除人员和查询分组、人员功能。

        人员分组
添加人员
移除人员

        【人员维护】主要完成人员基本信息的增加、编辑、删除和查询功能。

人员维护

2.数据库设计

        设计了人员分组和人员维护2张数据表,人员分组数据表用于存储分组信息,人员维护数据表用于存储人员信息。 

        表结构:

人员分组表结构

人员维护表结构

 3.流程设计

        人员管理模块,包括人员维护和人员分组2个模块。基本流程是:首先完成【人员维护】,包括人员的添加、编辑、删除操作,然后在【人员分组】中增加一个分组,选择要维护的分组,即可向分组内添加人员、移除人员、同样我们也可以对人员分组进行增加、编辑和删除操作。 

4.关键代码

4.1.人员分组

4.1.1数据请求示意图 

4.1.2添加组别(login.php)数据请求代码

//添加分组  ######################################
        $(document).on("click","#button_add_zb",function (){
            if ($("#zb1").val().trim() != ""  && $("#xh1").val().trim() != ""){

                if (isIntNum($("#xh1").val().trim())){
                    $.ajax({
                        method: "post",
                        url: "zuBieService.php",
                        data: {id:"",zb:$("#zb1").val(),fzry:"",xh:$("#xh1").val(),flag:"add"},
                        success: function (result) {
                            if (result == "chongfu"){
                                alert("组别重复");
                            }else if (result == "success"){
                                alert("提交成功");
                                php_reload("ryfz.php","#main_php",{flag:"add"});
                            }else {
                                alert("提交失败");
                            }

                        },
                        error: function(err) {
                            alert("提交失败");
                        }
                    });

                }else {
                    alert("序号必须为正整数");
                }


            }else{
                alert("所有内容不得为空");
            }
        });

4.1.3编辑组别(login.php)数据请求代码

//更新分组  ######################################
        $(document).on("click","#button_update_fz",function (){
            if ($("#zb").val().trim() != ""  && $("#xh").val().trim() != ""){

                if (isIntNum($("#xh").val().trim())){
                    $.ajax({
                        method: "post",
                        url: "zuBieService.php",
                        data: {id:$("#id").val(),zb:$("#zb").val(),fzry:$("#fzry").val(),xh:$("#xh").val(),flag:"update"},
                        success: function (result) {
                            if (result == "chongfu"){
                                alert("组别重复");
                            }else if (result == "success"){
                                alert("提交成功");
                                php_reload("ryfz.php","#main_php",{flag:"add"});
                            }else {
                                alert("提交失败");
                            }

                        },
                        error: function(err) {
                            alert("提交失败");
                        }
                    });

                }else {
                    alert("序号必须为正整数");
                }


            }else{
                alert("所有内容不得为空");
            }
        });

4.1.4加入分组(login.php)数据请求代码

function button_jrfz(sfzh,fzid){
        $.ajax({
            method:"post",
            url:"jrfz.php",
            data:{id:fzid,sfzh:sfzh,flag:"jrfz"},
            success:function (res){
                php_reload("jrfz.php","#main_php",{id:fzid,flag:""})
            }
        });
    }

4.1.5移除分组(login.php)数据请求代码

function button_ycfz(sfzh,fzid){
        $.ajax({
            method:"post",
            url:"ycfz.php",
            data:{id:fzid,sfzh:sfzh,flag:"ycfz"},
            success:function (res){
                php_reload("ycfz.php","#main_php",{id:fzid,flag:""})
            }
        });
    }

 4.1.6删除分组(login.php)数据请求代码

function zb_del(id){
        $.ajax({
            method:"post",
            url:"zuBieService.php",
            data:{id:id,zb:"",fzry:"",xh:1,flag:"del"},
            success:function (result){
                if (result == "success"){
                    alert("删除成功");
                    php_reload("ryfz.php","#main_php",{flag:"add"});
                }else {
                    alert("删除失败");
                }
            }
        });
    }

 4.1.7 业务处理Service(zuBieService.php)

4.1.7.1代码 
$id = $_POST['id'];
$zb = $_POST['zb'];
$fzry = $_POST['fzry'];
$xh = $_POST['xh'];
$flag = $_POST['flag'];

if ($flag == 'add'){
    $id = time();
}


$fenZuBean = new \bean\FenZuBean();
$fenZuBean->setId($id);
$fenZuBean->setZb($zb);
$fenZuBean->setFzry($fzry);
$fenZuBean->setXh($xh);

$table = "t_zubie";

$data = array(\util\Config::$id=>$fenZuBean->getId(),\util\Config::$zb=>$fenZuBean->getZb(),\util\Config::$fzry=>$fenZuBean->getFzry(),\util\Config::$xh=>$fenZuBean->getXh());
//打开数据库链接
$dbUtil = new \util\DBUtil();
$conn = $dbUtil->connect();

if ($flag == 'add'){//增加人员分组
    $rows = $dbUtil->select($conn,$table," zb = '".$zb."'");
    if (sizeof($rows) > 0){//判断是否重复
        $result = "chongfu";
    }else{
        $dbUtil->add($conn,$table,$data);
        $result = "success";
    }
}elseif ($flag == 'update'){//编辑人员分组
    $rows1 = $dbUtil->select($conn,$table," id = '".$id."'");
    $rows1_zb=$rows1[0];
    $rows1_zb2=$rows1_zb["zb"];
    $rows = $dbUtil->select($conn,$table," zb = '".$zb."'");
    if (sizeof($rows) > 0 and $rows1_zb2 != $zb){//判断是否重复
        $result = "chongfu";
    }else{
        $dbUtil->update($conn,$table,$data," id = '".$id."'");
        $result = "success";
    }

}elseif ($flag == 'del'){//删除人员分组
    $dbUtil->delete($conn,$table," id = '".$id."'");
    $rows = $dbUtil->select($conn,"t_jcsz"," zb like '%".$id."%'");
    if (sizeof($rows) > 0){//判断是否在基础设置中被选择,如果被选择删除基础设置数据
        $dbUtil->delete($conn,"t_jcsz"," zb like '%".$id."%'");
    }
    $result = "success";
}elseif ($flag == 'select'){//查询
    $rows = $dbUtil->select($conn,$table," id = '".$id."'");
    $result = json_encode($rows[0]);
}

//关闭数据库链接
$dbUtil->close($conn);
4.1.4.2业务处理逻辑流程图

4.2. 人员维护

4.2.1数据请求示意图

4.2.2添加人员(login.php)数据请求代码

//添加人员  ######################################
        $(document).on("click","#button_addry",function (){
            if ($("#sfzh1").val().trim() != "" && $("#xm1").val().trim() != ""
                &&  $("#dw1").val().trim() != "" &&  $("#zw1").val().trim() != "" && $("#xh1").val().trim() != ""){

                if (!isValidIDCard($("#sfzh1").val().trim() )){
                    alert("请输入18位身份证号码")
                    return;
                }

                if (isIntNum($("#xh1").val().trim())){
                    $.ajax({
                        method: "post",
                        url: "renYuanService.php",
                        data: {sfzh:$("#sfzh1").val(),xm:$("#xm1").val(),dw:$("#dw1").val(),zw:$("#zw1").val(),xh:$("#xh1").val(),flag:"add"},
                        success: function (result) {
                            if (result == "chongfu"){
                                alert("身份证号码重复");
                            }else if (result == "success"){
                                alert("提交成功");
                                php_reload("rywh.php","#main_php",{flag:"add"});
                            }else {
                                alert("提交失败");
                            }

                        },
                        error: function(err) {
                            alert("提交失败");
                        }
                    });

                }else {
                    alert("序号必须为正整数");
                }


            }else{
                alert("所有内容不得为空");
            }
        });

4.2.3编辑人员信息(login.php)数据请求代码

//更新人员  ######################################
        $(document).on("click","#button_updatery",function (){
            if ($("#sfzh").val().trim() != "" && $("#xm").val().trim() != ""
                &&  $("#dw").val().trim() != "" &&  $("#zw").val().trim() != "" && $("#xh").val().trim() != ""){

                if (!isValidIDCard($("#sfzh").val().trim() )){
                    alert("请输入18位身份证号码")
                    return;
                }

                if (isIntNum($("#xh").val().trim())){
                    $.ajax({
                        method: "post",
                        url: "renYuanService.php",
                        data: {sfzh:$("#sfzh").val(),xm:$("#xm").val(),dw:$("#dw").val(),zw:$("#zw").val(),xh:$("#xh").val(),flag:"update"},
                        success: function (result) {
                            if (result == "success"){
                                alert("提交成功");
                                php_reload("rywh.php","#main_php",{flag:"add"});
                            }else {
                                alert("提交失败");
                            }

                        },
                        error: function(err) {
                            alert("提交失败");
                        }
                    });

                }else {
                    alert("序号必须为正整数");
                }


            }else{
                alert("所有内容不得为空");
            }
        });

4.2.4删除人员(login.php)数据请求代码

function ry_del(sfzh){
        $.ajax({
            method:"post",
            url:"renYuanService.php",
            data:{sfzh:sfzh,xm:"",dw:"",zw:"",xh:1,flag:"del"},
            success:function (result){
                if (result == "success"){
                    alert("删除成功");
                    php_reload("rywh.php","#main_php",{flag:"add"});
                }else {
                    alert("删除失败");
                }
            }
        });
    }

4.2.5业务处理Service(renYuanSevice.php)

4.2.5.1代码
$sfzh = $_POST['sfzh'];
$xm = $_POST['xm'];
$dw = $_POST['dw'];
$zw = $_POST['zw'];
$xh = $_POST['xh'];

$flag = $_POST['flag'];


$renYuanBean = new \bean\RenYuanBean();
$renYuanBean->setSfzh($sfzh);
$renYuanBean->setXm($xm);
$renYuanBean->setDw($dw);
$renYuanBean->setZw($zw);
$renYuanBean->setXh($xh);

$table = "t_renyuan";

$data = array(\util\Config::$sfzh=>$renYuanBean->getSfzh(),\util\Config::$xm=>$renYuanBean->getXm(),\util\Config::$dw=>$renYuanBean->getDw(),\util\Config::$zw=>$renYuanBean->getZw(),\util\Config::$xh=>$renYuanBean->getXh());
//打开数据库链接
$dbUtil = new \util\DBUtil();
$conn = $dbUtil->connect();

if ($flag == 'add'){
    $rows = $dbUtil->select($conn,$table," sfzh = '".$sfzh."'");
    if (sizeof($rows) > 0){
        $result = "chongfu";
    }else{
        $dbUtil->add($conn,$table,$data);
        $result = "success";
    }
}elseif ($flag == 'update'){
    $dbUtil->update($conn,$table,$data," sfzh = '".$sfzh."'");
    $result = "success";
}elseif ($flag == 'del'){
    $dbUtil->delete($conn,$table," sfzh = '".$sfzh."'");
    $result = "success";
}elseif ($flag == 'select'){
    $rows = $dbUtil->select($conn,$table," sfzh = '".$sfzh."'");
    $result = json_encode($rows[0]);
}

//关闭数据库链接
$dbUtil->close($conn);
4.2.5.2业务处理逻辑流程图

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【附安装包】3ds Max2023安装教程

软件下载 软件:3ds Max版本:2023语言:简体中文大小:6.85G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU3GHz 内存16G(或更高)下载通道①百度网盘丨64位下载链接:https://pan.baidu.c…

Spring6(二):IoC容器

文章目录 3. 容器:IoC3.1 IoC容器3.1.1 控制反转(IoC)3.1.2 依赖注入3.1.3 IoC容器在Spring的实现 3.2 基于XML管理Bean3.2.1 搭建子模块spring6-ioc-xml3.2.2 获取bean方式一:根据id获取方式二:根据类型获取方式三&am…

python自动化测试面试题

1、自动化代码中,用到了哪些设计模式? 单例设计模式工厂模式PO设计模式数据驱动模式面向接口编程设计模式 2、什么是断言( Assert) ? 断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志 3、什么是web自动化测…

Lobatto Quadrature

See https://mathworld.wolfram.com/LobattoQuadrature.html

前端面试hr经常会问的问题

文章目录 前言1.自我介绍2.为什么你要离职?3.工作经历4.职业规划5.优点、缺点6.还有什么要问的 总结 前言 这里记录了一些面试中hr或者项目负责人经常会问的一些问题,可以提前参考参考,想想该怎么回答,为之后的面试做好准备&…

【数据处理】Python:实现求条件分布函数 | 求平均值方差和协方差 | 求函数函数期望值的函数 | 概率论

猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面:本章我们将通过 Python 手动实现条件分布函数的计算,实现求平均值,方差和协方差函数,实现求函数期望值的函数。部署的测试代码放到文后了&…

一加手机全球摄影展深圳开展 历年获奖作品齐登场

11 月 18 日至 12 月 3 日,一加手机将携手国际摄影奖(International Photography Awards,以下简称IPA),在深圳市南山区海岸城购物中心举办一加手机全球摄影展(OnePlus Global Photography Exhibition&#…

手机数据恢复应用程序有哪些?手机数据恢复免费软件排名TOP 9

一些免费的手机数据恢复应用程序和软件有付费版本。 如果您想要高功能,请选择付费版本,如果您不想要那么多功能,或者如果您目前不需要它,请选择免费版本。 手机数据恢复免费软件排名TOP 9 ​1. 奇客数据恢复 ​奇客数据恢复是一款…

PyTorch技术和深度学习——四、神经网络训练与优化

文章目录 1.神经网络迭代概念1)训练误差与泛化误差2)训练集、验证集和测试集划分3)偏差与方差 2.正则化方法1)提前终止2)L2正则化3)Dropout 3.优化算法1)梯度下降2)Momentum算法3)RM…

052-第三代软件开发-系统监测

第三代软件开发-系统监测 文章目录 第三代软件开发-系统监测项目介绍系统监测 关键字: Qt、 Qml、 cpu、 内存、memory 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C 的强大功…

asp.net core mvc 之 依赖注入

一、视图中使用依赖注入 1、core目录下添加 LogHelperService.cs 类 public class LogHelperService{public void Add(){}public string Read(){return "日志读取";}} 2、Startup.cs 文件中 注入依赖注入 3、Views目录中 _ViewImports.cshtml 添加引用 4、视图使用…

Go语言常用命令详解(一)

文章目录 前言常用命令go build示例参数说明 go test示例参数说明 go run示例参数说明 go clean示例参数介绍 总结写在最后 前言 Go语言是一种开源的编程语言,由Google开发并于2009年首次发布。它以其简洁、高效和并发性能而备受开发者的喜爱。作为一门相对年轻的语…

C进阶---自定义类型:结构体、枚举、联合

目录 一、前言 二、结构体 2.1结构体的声明 2.2特殊的声明 2.3结构体的自引用 2.4结构体变量的定义和初始化 2.5结构体内存对齐 2.6修改默认对齐数 2.7结构体传参 三、位段 3.1什么是位段 3.2位段的内存分配 3.3位段的跨平台问题 3.4位段的应用 四、枚…

【ML】欠拟合和过拟合的一些判别和优化方法(吴恩达机器学习笔记)

吴恩达老师的机器学习教程笔记 减少误差的一些方法 获得更多的训练实例——解决高方差尝试减少特征的数量——解决高方差尝试获得更多的特征——解决高偏差尝试增加多项式特征——解决高偏差尝试减少正则化程度 λ——解决高偏差尝试增加正则化程度 λ——解决高方差 什么是…

Spring-IoC与DI入门案例

IoC入门案例 IoC入门案例思路分析 管理什么?(Service与Dao)如何将被管理的对象告知IoC容器?(配置)被管理的对象交给IoC容器,如何获取到IoC容器?(接口)IoC容…

【Java 进阶篇】JQuery 动画:为页面添彩的魔法

在现代的Web开发中,用户体验的提升是至关重要的一环。而动画作为页面交互中的重要组成部分,更是为用户带来了全新的感官体验。本篇博客将深入探讨 JQuery 中动画的应用,带你进入一个充满活力的前端世界。 前言 动画是网页设计的一种重要手段…

基于电力需求侧能效管理平台的建设及应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要:电力是国民经济和居民生活的命脉,为贯彻落实国家对于节能减排工作的总体部署,深入推进电力需求侧管理工作、本文从电力需求侧能效管理平台所要实现的功能与应用信息技术两个方面&#x…

磁盘阵列之RAID

一、RAID介绍 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是…

linux高级篇基础理论一(详细文档、Apache,网站,MySQL、MySQL备份工具)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技…

根据视频编码时间批量重命名视频文件

整理收藏的小视频的时候发现很多视频命名很随意,自己命名又太麻烦,看着乱糟糟的文件又心烦,所有写了这个程序,代码如下: import osfrom filetype import filetype from pymediainfo import MediaInfovideo_extension …