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


    目录

    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)数据请求代码

    1. //添加分组 ######################################
    2. $(document).on("click","#button_add_zb",function (){
    3. if ($("#zb1").val().trim() != "" && $("#xh1").val().trim() != ""){
    4. if (isIntNum($("#xh1").val().trim())){
    5. $.ajax({
    6. method: "post",
    7. url: "zuBieService.php",
    8. data: {id:"",zb:$("#zb1").val(),fzry:"",xh:$("#xh1").val(),flag:"add"},
    9. success: function (result) {
    10. if (result == "chongfu"){
    11. alert("组别重复");
    12. }else if (result == "success"){
    13. alert("提交成功");
    14. php_reload("ryfz.php","#main_php",{flag:"add"});
    15. }else {
    16. alert("提交失败");
    17. }
    18. },
    19. error: function(err) {
    20. alert("提交失败");
    21. }
    22. });
    23. }else {
    24. alert("序号必须为正整数");
    25. }
    26. }else{
    27. alert("所有内容不得为空");
    28. }
    29. });

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

    1. //更新分组 ######################################
    2. $(document).on("click","#button_update_fz",function (){
    3. if ($("#zb").val().trim() != "" && $("#xh").val().trim() != ""){
    4. if (isIntNum($("#xh").val().trim())){
    5. $.ajax({
    6. method: "post",
    7. url: "zuBieService.php",
    8. data: {id:$("#id").val(),zb:$("#zb").val(),fzry:$("#fzry").val(),xh:$("#xh").val(),flag:"update"},
    9. success: function (result) {
    10. if (result == "chongfu"){
    11. alert("组别重复");
    12. }else if (result == "success"){
    13. alert("提交成功");
    14. php_reload("ryfz.php","#main_php",{flag:"add"});
    15. }else {
    16. alert("提交失败");
    17. }
    18. },
    19. error: function(err) {
    20. alert("提交失败");
    21. }
    22. });
    23. }else {
    24. alert("序号必须为正整数");
    25. }
    26. }else{
    27. alert("所有内容不得为空");
    28. }
    29. });

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

    1. function button_jrfz(sfzh,fzid){
    2. $.ajax({
    3. method:"post",
    4. url:"jrfz.php",
    5. data:{id:fzid,sfzh:sfzh,flag:"jrfz"},
    6. success:function (res){
    7. php_reload("jrfz.php","#main_php",{id:fzid,flag:""})
    8. }
    9. });
    10. }

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

    1. function button_ycfz(sfzh,fzid){
    2. $.ajax({
    3. method:"post",
    4. url:"ycfz.php",
    5. data:{id:fzid,sfzh:sfzh,flag:"ycfz"},
    6. success:function (res){
    7. php_reload("ycfz.php","#main_php",{id:fzid,flag:""})
    8. }
    9. });
    10. }

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

    1. function zb_del(id){
    2. $.ajax({
    3. method:"post",
    4. url:"zuBieService.php",
    5. data:{id:id,zb:"",fzry:"",xh:1,flag:"del"},
    6. success:function (result){
    7. if (result == "success"){
    8. alert("删除成功");
    9. php_reload("ryfz.php","#main_php",{flag:"add"});
    10. }else {
    11. alert("删除失败");
    12. }
    13. }
    14. });
    15. }

     4.1.7 业务处理Service(zuBieService.php)

    4.1.7.1代码 
    1. $id = $_POST['id'];
    2. $zb = $_POST['zb'];
    3. $fzry = $_POST['fzry'];
    4. $xh = $_POST['xh'];
    5. $flag = $_POST['flag'];
    6. if ($flag == 'add'){
    7. $id = time();
    8. }
    9. $fenZuBean = new \bean\FenZuBean();
    10. $fenZuBean->setId($id);
    11. $fenZuBean->setZb($zb);
    12. $fenZuBean->setFzry($fzry);
    13. $fenZuBean->setXh($xh);
    14. $table = "t_zubie";
    15. $data = array(\util\Config::$id=>$fenZuBean->getId(),\util\Config::$zb=>$fenZuBean->getZb(),\util\Config::$fzry=>$fenZuBean->getFzry(),\util\Config::$xh=>$fenZuBean->getXh());
    16. //打开数据库链接
    17. $dbUtil = new \util\DBUtil();
    18. $conn = $dbUtil->connect();
    19. if ($flag == 'add'){//增加人员分组
    20. $rows = $dbUtil->select($conn,$table," zb = '".$zb."'");
    21. if (sizeof($rows) > 0){//判断是否重复
    22. $result = "chongfu";
    23. }else{
    24. $dbUtil->add($conn,$table,$data);
    25. $result = "success";
    26. }
    27. }elseif ($flag == 'update'){//编辑人员分组
    28. $rows1 = $dbUtil->select($conn,$table," id = '".$id."'");
    29. $rows1_zb=$rows1[0];
    30. $rows1_zb2=$rows1_zb["zb"];
    31. $rows = $dbUtil->select($conn,$table," zb = '".$zb."'");
    32. if (sizeof($rows) > 0 and $rows1_zb2 != $zb){//判断是否重复
    33. $result = "chongfu";
    34. }else{
    35. $dbUtil->update($conn,$table,$data," id = '".$id."'");
    36. $result = "success";
    37. }
    38. }elseif ($flag == 'del'){//删除人员分组
    39. $dbUtil->delete($conn,$table," id = '".$id."'");
    40. $rows = $dbUtil->select($conn,"t_jcsz"," zb like '%".$id."%'");
    41. if (sizeof($rows) > 0){//判断是否在基础设置中被选择,如果被选择删除基础设置数据
    42. $dbUtil->delete($conn,"t_jcsz"," zb like '%".$id."%'");
    43. }
    44. $result = "success";
    45. }elseif ($flag == 'select'){//查询
    46. $rows = $dbUtil->select($conn,$table," id = '".$id."'");
    47. $result = json_encode($rows[0]);
    48. }
    49. //关闭数据库链接
    50. $dbUtil->close($conn);
    4.1.4.2业务处理逻辑流程图

    4.2. 人员维护

    4.2.1数据请求示意图

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

    1. //添加人员 ######################################
    2. $(document).on("click","#button_addry",function (){
    3. if ($("#sfzh1").val().trim() != "" && $("#xm1").val().trim() != ""
    4. && $("#dw1").val().trim() != "" && $("#zw1").val().trim() != "" && $("#xh1").val().trim() != ""){
    5. if (!isValidIDCard($("#sfzh1").val().trim() )){
    6. alert("请输入18位身份证号码")
    7. return;
    8. }
    9. if (isIntNum($("#xh1").val().trim())){
    10. $.ajax({
    11. method: "post",
    12. url: "renYuanService.php",
    13. data: {sfzh:$("#sfzh1").val(),xm:$("#xm1").val(),dw:$("#dw1").val(),zw:$("#zw1").val(),xh:$("#xh1").val(),flag:"add"},
    14. success: function (result) {
    15. if (result == "chongfu"){
    16. alert("身份证号码重复");
    17. }else if (result == "success"){
    18. alert("提交成功");
    19. php_reload("rywh.php","#main_php",{flag:"add"});
    20. }else {
    21. alert("提交失败");
    22. }
    23. },
    24. error: function(err) {
    25. alert("提交失败");
    26. }
    27. });
    28. }else {
    29. alert("序号必须为正整数");
    30. }
    31. }else{
    32. alert("所有内容不得为空");
    33. }
    34. });

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

    1. //更新人员 ######################################
    2. $(document).on("click","#button_updatery",function (){
    3. if ($("#sfzh").val().trim() != "" && $("#xm").val().trim() != ""
    4. && $("#dw").val().trim() != "" && $("#zw").val().trim() != "" && $("#xh").val().trim() != ""){
    5. if (!isValidIDCard($("#sfzh").val().trim() )){
    6. alert("请输入18位身份证号码")
    7. return;
    8. }
    9. if (isIntNum($("#xh").val().trim())){
    10. $.ajax({
    11. method: "post",
    12. url: "renYuanService.php",
    13. data: {sfzh:$("#sfzh").val(),xm:$("#xm").val(),dw:$("#dw").val(),zw:$("#zw").val(),xh:$("#xh").val(),flag:"update"},
    14. success: function (result) {
    15. if (result == "success"){
    16. alert("提交成功");
    17. php_reload("rywh.php","#main_php",{flag:"add"});
    18. }else {
    19. alert("提交失败");
    20. }
    21. },
    22. error: function(err) {
    23. alert("提交失败");
    24. }
    25. });
    26. }else {
    27. alert("序号必须为正整数");
    28. }
    29. }else{
    30. alert("所有内容不得为空");
    31. }
    32. });

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

    1. function ry_del(sfzh){
    2. $.ajax({
    3. method:"post",
    4. url:"renYuanService.php",
    5. data:{sfzh:sfzh,xm:"",dw:"",zw:"",xh:1,flag:"del"},
    6. success:function (result){
    7. if (result == "success"){
    8. alert("删除成功");
    9. php_reload("rywh.php","#main_php",{flag:"add"});
    10. }else {
    11. alert("删除失败");
    12. }
    13. }
    14. });
    15. }

    4.2.5业务处理Service(renYuanSevice.php)

    4.2.5.1代码
    1. $sfzh = $_POST['sfzh'];
    2. $xm = $_POST['xm'];
    3. $dw = $_POST['dw'];
    4. $zw = $_POST['zw'];
    5. $xh = $_POST['xh'];
    6. $flag = $_POST['flag'];
    7. $renYuanBean = new \bean\RenYuanBean();
    8. $renYuanBean->setSfzh($sfzh);
    9. $renYuanBean->setXm($xm);
    10. $renYuanBean->setDw($dw);
    11. $renYuanBean->setZw($zw);
    12. $renYuanBean->setXh($xh);
    13. $table = "t_renyuan";
    14. $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());
    15. //打开数据库链接
    16. $dbUtil = new \util\DBUtil();
    17. $conn = $dbUtil->connect();
    18. if ($flag == 'add'){
    19. $rows = $dbUtil->select($conn,$table," sfzh = '".$sfzh."'");
    20. if (sizeof($rows) > 0){
    21. $result = "chongfu";
    22. }else{
    23. $dbUtil->add($conn,$table,$data);
    24. $result = "success";
    25. }
    26. }elseif ($flag == 'update'){
    27. $dbUtil->update($conn,$table,$data," sfzh = '".$sfzh."'");
    28. $result = "success";
    29. }elseif ($flag == 'del'){
    30. $dbUtil->delete($conn,$table," sfzh = '".$sfzh."'");
    31. $result = "success";
    32. }elseif ($flag == 'select'){
    33. $rows = $dbUtil->select($conn,$table," sfzh = '".$sfzh."'");
    34. $result = json_encode($rows[0]);
    35. }
    36. //关闭数据库链接
    37. $dbUtil->close($conn);
    4.2.5.2业务处理逻辑流程图

  • 相关阅读:
    虚拟局域网VLAN
    力扣84 双周赛 t4 6144 和力扣305周赛t4 6138
    定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
    雷电模拟器+python
    什么是分布式软件系统
    面试官:ElasticSearch是什么,它有什么特性与使用场景?
    分布式锁实现方案-基于zookeeper的分布式锁实现(原理与代码)
    达梦:SQL调优
    通配符 SSL/TLS 证书
    Cesium DrawCommand [1] 不谈地球 画个三角形
  • 原文地址:https://blog.csdn.net/JayKuen/article/details/134395616