<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script src="../0622/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
用户:<select id="yhsel" class="yonghu" onchange="yuangong_juese()"></select>
<button onclick="xiugai()">修改</button>
<br>
<br>
<div></div>
</body>
</html>
<script type="text/javascript">
$(function(){
yuangong();
})
// 查询所有员工========================================================================
function yuangong(){
$.ajax({
type:"post",
url:"chuli.php",
async:true,
data:{
type:"yuangong"
},
dataType:"json",
success:function(data){
var str = "";
for(var i = 0;i < data.length;i++){
str += "<option value = \""+data[i][1]+"\">"+data[i][3]+"</option>"
}
$(".yonghu").html(str);
juese();
}
});
}
// 查询所有角色=====================================================================
function juese(){
$.ajax({
type:"post",
url:"chuli.php",
async:true,
data:{
type:"juese"
},
dataType:"json",
success:function(data){
var str = "角色:";
for(var i = 0;i < data.length;i++){
str += "<input class = 'juese' type='checkbox' value = \""+data[i][0]+"\"/>"+data[i][1];
}
$("div").html(str);
yuangong_juese();
}
});
}
// 员工对应角色======================================================================
function yuangong_juese(){
// 找到选则的员工================================================================
var yg = $("#yhsel").val();
// 找到所有的角色复选框===========================================================
var yixuan = $(".juese");
// 把所有的角色复选框都重置========================================================
yixuan.prop("checked",false);
$.ajax({
type:"post",
url:"chuli.php",
async:true,
data:{
type:"yuangong_juese",
yg:yg
},
dataType:"json",
success:function(data){
// 获取选中员工在员工对应角色表中的所有信息(二维信息数组)===========================
for (var i = 0;i < data.length;i++) {
for(var j = 0;j < yixuan.length;j++){
// 遍历所有的角色复选框,把value值(角色的代号)等于选中员工角色的代号(二维信息数组data的第i项的第0项)的复选框的checkde改为true(变为选中状态)
if(yixuan[j].value == data[i][2]){
yixuan[j].checked = true;
}
}
}
}
});
}
// 修改员工角色=======================================================================
function xiugai(){
// 找到选则的员工=================================================================
var yg = $("option:selected").val();
// 找到所有的角色复选框===========================================================
var yixuan = $(".juese");
var str = [];
// 判断所有复选框的选中状态,如果是true(选中),就把这个复选框的value(对应角色的代号)放到数组str中
for(var j = 0;j < yixuan.length;j++){
if(yixuan[j].checked == true){
str.push(yixuan[j].value);
}
}
$.ajax({
type:"post",
url:"chuli.php",
async:true,
data:{
type:"xiugai",
yg:yg,
juese:str
},
dataType:"text",
success:function(data){
if(data = "yes"){
alert("修改成功");
}
}
});
}
</script>
<?php
$conn = new mysqli("localhost","root","","ceshizbz");
$conn->connect_error?die():"";
$type = $_POST['type'];
switch($type){
case "yuangong":
// 返回员工表的所有信息=========================================
$sql = "select * from user";
$result = $conn->query($sql);
$attr = $result->fetch_all();
echo json_encode($attr);
break;
case "juese":
// 返回角色表的所有信息=========================================
$sql = "select * from juese";
$result = $conn->query($sql);
$attr = $result->fetch_all();
echo json_encode($attr);
break;
case "yuangong_juese":
// 获取选中员工==================================================
$yg = $_POST['yg'];
// 返回选中员工在员工对应角色表中的所有信息===========================
$sql = "select * from user_juese where userid = '{$yg}'";
$result = $conn->query($sql);
$attr = $result->fetch_all();
echo json_encode($attr);
break;
case "xiugai":
// 获取选中员工==================================================
$yg = $_POST['yg'];
// 获取选中角色==================================================
$juese = $_POST['juese'];
// 添加之前先把选中员工的所有角色从员工对应角色表中删除==================
$sqlb = "delete from user_juese where userid = '{$yg}'";
$resultb = $conn->query($sqlb);
for($i=0;$i<count($juese);$i++){
// 把选中员工的选中角色逐条添加到员工对应角色表中====================
$sqla = "insert into user_juese values('','{$yg}','{$juese[$i]}')";
$resulta = $conn->query($sqla);
}
if($resulta){
echo "yes";
}
break;
}
?>