• 设置权限


    概念理解:

    一般用于多对多的关系,用户对应角色表和角色对应职责表,设置该用户对应的角色,设置该角色对应的职责;

    设置用户->角色表的权限:

    主页面:

    <!--功能1:设置权限-->
    <div>
    <form action="tjchuli.php" method="post">
    请选择用户:
    <select id="u" name="uid">
    <?php
    include ("../config/DBDA.php");
    $dx=new DBDA();
    $sql="select * from user";
    $attr=$dx->Query($sql);
    foreach($attr as $v)
    {
        echo "<option  value='{$v[0]}'>{$v[1]}</option>";
        }
    ?>
    </select>
    <br />
    请选择角色:
    <?php
    $sq="select * from juese";
    $att=$dx->Query($sq);
    foreach($att as $v1)
    {
        echo "<input type='checkbox' class='jid' name='jid[]' value='{$v1[0]}' />{$v1[1]}";
        }
    ?>
    <br />
    <input  type="submit" value="保存" />
    </form>
    </div>
    //功能2:如何实现每次返回主页面和每次更改用户时出现上一次的显示结果
    //思路:根据本次的用户名查到相应的角色,使复选框变为选中状态
    //使用工具:jquery/ajax
    <script type="text/javascript">
    $(document).ready(function(e) {
        Checked();//页面初始化调用此方法
        $("#u").change(function(){
            Checked();//用户名更改调用此方法
        })
    //封装一个方法->功能2
      function Checked(){
          var uid=$("#u").val();
        //alert(uid);
    //清除原来的选中状态
        $(".jid").prop("checked",false);
          $.ajax({
              url:"chaxun.php",
              data:{uid:uid},
              type:"POST",
              dataType:"TEXT",//获取到另一个页面的返回值,另一个页面必须有值
              success: function(data){
                  //选取所有的复选框,一个个判断是否在返回的数组中
                  var ar=data.split("|");
                  //alert(data);
                  var m=$(".jid");
                  for(var i=0;i<m.length;i++)
                  {
                      if($.inArray(m.eq(i).val(),ar)>=0) //$.inArray(value,array)方法用于判断某个元素在不在数组中,如果在返回所在位置的索引,不在返回-1
                      {
                          m[i].checked="checked";
                          //m.eq(i).prop("checked",true);
                        }
                    }
                }
            })
        }
    });
    </script>

    向数据库添加数据的处理页面:

    <?php
    include ("../config/DBDA.php");
    $uid=$_POST["uid"];
    $jttr=$_POST["jid"];//要获取到数组,传值为name='a[]'
    $dx=new DBDA();
    //去重
    $sq="delete from udj where uid={$uid}";
    $dx->Query($sq,0);
    //循环添加数据
    foreach($jttr as $v)
    {
        $sql="insert into udj (uid,jid) values({$uid},{$v})";
        $r=$dx->Query($sql,0);
    }
    if($r)
    {
        header("location:szqx.php");
        }
    else 
    {
        echo "设置失败";    
        }
    ?>

    使用ajax转入查询的页面:

    <?php
    include ("../config/DBDA.php");
    $uid=$_POST["uid"];
    $dx=new DBDA();
    $sql="select jid from udj where uid={$uid}";
    $result=$dx->StrQuery($sql);
    echo $result;//必须输出才能返回到ajax中
  • 相关阅读:
    方法功能从无参方法、含参方法到重载方法
    文件目录在Visual C++ 2005中使用 GNU Scientific Library
    数据库导出All about Oracle IMP/EXP
    初始化变量明明白白c++ 初始化
    内容组织高效项目方案是如何产生的 !
    函数矩阵OpenGL中glFrustum()和gluPerspective()的相互转换
    对象数组[置顶] java高级工程师JSON和XML的使用
    资源成员函数Android应用程序资源的查找过程分析
    事件复制[wxWidgets编程系列2]_[发送异步事件的注意项之字符串深浅复制]
    查找删除Code First Entity Framework基本与最佳添加(add/create),删除(delete/remove),修改(update/modify)操作
  • 原文地址:https://www.cnblogs.com/jinshui/p/5660776.html
Copyright © 2020-2023  润新知