目录
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);