权限管理1:对用户角色的增删改

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../jquery-1.11.2.min.js"></script>
<title>无标题文档</title>
</head>

<body>
<?php
include("../DBDA.class.php");
$db = new DBDA
?>
<br />

<div>请选择用户:
    <select id="sel">
<?php
        $sql = "select * from users";
        $attr = $db->Query($sql);
        foreach($attr as $v)
        {
            echo "<option value='{$v[0]}'>{$v[2]}</option>";
        }
        
        $fuid = $attr[0][0];//取到第一个人的用户名
        
        ?> 
    </select>
    <br />
    <div><br />请选择角色:<br /><br />
<?php
        $sjuese = "select * from juese";
        $ajuese = $db->Query($sjuese);
        foreach($ajuese as $v)
        {
            $sxz = "select count(*) from userinjuese where userid='{$fuid}' and jueseid='{$v[0]}'";//userid='{$fuid}'刷新网页显示的名字。jueseid='{$v[0]}'每个复选框的属性值。
            
            $n = $db->StrQuery($sxz);
            
            if($n>0)//遍历出来的用户名中有的角色就加上选中状态。
            {
                echo "<input type='checkbox' class='juese' checked='checked' value='{$v[0]}' />{$v[1]} &nbsp;";//让刷新页面出来的用户的角色默认是选中状态
            }
            else
            {
                echo "<input type='checkbox' class='juese' value='{$v[0]}' />{$v[1]} &nbsp;";//{$v[0]}角色代号,没有的角色就世界输出。
            }
        }
        ?>
        
    </div>

</div>
<br />
<input type="button" value="保存" id="btn" />

</body>
<script type="text/javascript">
$("#sel").change(function(){
    
    var uid = $("#sel").val();
    $.ajax({
        url:"chuli.php",
        data:{uid:uid},
        type:"POST",
        dataType:"TEXT",
        success: function(data){
                var js = data.split("|");
                var ck = $(".juese")
                ck.prop("checked",false);//先清除所有的选中状态
                //让等于返回角色代号的选中
                for(var i = 0;i<ck.length;i++)
                {
                    if(js.indexOf(ck.eq(i).val())>-1)//判断checkbos里面的值是不是在数组里面出现了
                    {
                        ck.eq(i).prop("checked",true);//如果出现,说明这个人有这个角色,就让角色选中。
                    }
                }
            }
        
        })
    
    })
    
$("#btn").click(function(){
    var uid = $("#sel").val();
    //角色代号
    var ck = $(".juese");
    var str ="";
    for(var i=0;i<ck.length;i++)
    {
        if(ck.eq(i).prop("checked"))
        {
            str=str+ck.eq(i).val()+"|";
        }
    }
    str = str.substr(0,str.length-1);
    
    $.ajax({
            url:"add.php",
            data:{uid:uid,juese:str},
            type:"POST",
            dataType:"TEXT",
            success: function(){
                    alert("保存成功");
                }
        });
    
    })

</script>
</html>

chuli.php

<?php
include("../DBDA.class.php");
$db = new DBDA();
$uid = $_POST["uid"];
$sql = "select jueseid from userinjuese where userid='{$uid}'";
echo $db->StrQuery($sql);

add.php

<?php
include("../DBDA.class.php");
$db = new DBDA();
$uid = $_POST["uid"];
$juese = $_POST["juese"];
$attr = explode("|",$juese);
$sdel = "delete from userinjuese where userid='{$uid}'";//把用户所有的角色删除
$db->Query($sdel,0);

//将取到的用户信息添加
foreach($attr as $v)
{
    $sql = "insert into userinjuese values('','{$uid}','{$v}')";
    $db->Query($sql,0);
}
原文地址:https://www.cnblogs.com/Strive-count/p/6078028.html