1. <style type="text/css">
  2. *
  3. {
  4. margin:0px auto;
  5. padding:0px;
  6. }
  7. .biao
  8. {
  9. padding-left:550px;
  10. padding-top:30px;
  11. }
  12. #menu
  13. {
  14. padding-left:200px;
  15. padding-top:20px;
  16. height:35px;
  17. }
  18. .list
  19. {
  20. width:120px;
  21. height:35px;
  22. margin-left:5px;
  23. background-color:#F9C;
  24. color:white;
  25. font-family:"黑体";
  26. font-size:16px;
  27. font-weight:bold;
  28. text-align:center;
  29. line-height:35px;
  30. vertical-align:middle;
  31. float:left;
  32. }
  33. </style>
  34. </head>
  35. <?php
  36. session_start();
  37. include("../dbda.php");
  38. $db=new DBDA();
  39. if(empty($_SESSION["uid"]))
  40. {
  41. header("location:login.php");
  42. exit;
  43. }
  44. $uid=$_SESSION["uid"];
  45. //根据用户名查用户对应角色表,找到相应的角色代号
  46. $sjs="select jueseid from userinjuese where userid=\'{$uid}\'";
  47. $attr=$db->Query($sjs);
  48. //根据角色代号查找功能
  49. $gn=array();//存放功能的二维数组
  50. $onegn=array();//存放功能的一维数组
  51.  
  52. foreach($attr as $v)
  53. {
  54. $sgn="select ruleid from juesewithrules where jueseid=\'{$v[0]}\'";
  55. $agn=$db->Query($sgn);
  56. $gn=array_merge($gn,$agn);
  57. }
  58. //将$gn二维数组转化为$onegn一维数组
  59. foreach($gn as $v)
  60. {
  61. $onegn[]=$v[0];
  62. }
  63. //对功能的以为数组进行去重
  64. $onegn=array_unique($onegn);
  65. ?>
  66. <body>
  67. <div class="biao">
  68. <h1>主页面</h1><br />
  69. </div>
  70. <div id="menu">
  71. <?php
  72. foreach($onegn as$v)
  73. {
  74. $sname="select name from rules where code=\'{$v}\'";
  75. $name=$db->strquery($sname);
  76. echo"<div class=\'list\'>{$name}</div>";
  77. }
  78. ?>
  79. </div>

                                 

guanli.php

  1. <script src="../jquery-1.11.2.min.js"></script>
  2. <style type="text/css">
  3. .biao
  4. {
  5. padding-left:400px;
  6. padding-top:30px;
  7. }
  8. .div
  9. {
  10. padding-left:400px;
  11. padding-top:20px;
  12. }
  13. .but
  14. {
  15. padding-top:30px;
  16. padding-left:900px;
  17. }
  18. </style>
  19. <?php
  20. include("../dbda.php");
  21. $db=new DBDA();
  22. //查询用户表,查出所有数据
  23. $suser="select * from users";
  24. $auser=$db->Query($suser);
  25. //查询角色表,查出所有数据
  26. $sjuese="select *from juese";
  27. $ajuese=$db->Query($sjuese);
  28. ?>
  29. </head>
  30.  
  31. <body>
  32. <div class="biao">
  33. <h1>权限管理:用户对应角色管理</h1>
  34. </div>
  35. <div class="div">
  36. <div>
  37. 请选择用户:
  38. <select id="user">
  39. <?php
  40. foreach($auser as $v)
  41. {
  42. echo"<option value=\'{$v[0]}\'>{$v[2]}</option>";
  43. }
  44. ?>
  45. </select>
  46. </div>
  47. <br />
  48. <div>
  49. 请选择相应的角色:
  50. <?php
  51. foreach($ajuese as $v)
  52. {
  53. echo"<input type=\'checkbox\' class=\'juese\' value=\'{$v[0]}\'/>{$v[1]}&nbsp;&nbsp;";
  54. }
  55. ?>
  56. </div>
  57. </div>
  58. <br />
  59. <div class="but">
  60. <input type="button" value="保存" id="btn" />
  61. </div>
  62. </body>
  63. <script type="text/javascript">
  64. $(document).ready(function(e) {
  65. //调用JSChecked方法
  66. JSChecked();
  67. $("#btn").click(function(){
  68. //取人员选中值
  69. var uid=$("#user").val();
  70. //先找到所有的复选框
  71. var ck=$(".juese");
  72. var js="";
  73. //再取复选框的所有选中值
  74. for(var i=0;i<ck.length;i++)
  75. {
  76. //判断有没有选中
  77. if(ck[i].checked)
  78. {
  79. //取选中的value值
  80. js=js+ck.eq(i).val()+"|";
  81. }
  82. }
  83. //去掉最后的|
  84. js=js.substr(0,js.length-1);
  85. $.ajax({
  86. url:"guanlicl.php",
  87. data:{uid:uid,js:js},
  88. type:"POST",
  89. dataType:"TEXT",
  90. success: function(data){
  91. if(data.trim()=="ok")
  92. {
  93. alert("添加成功");
  94. }
  95. else
  96. {
  97. alert("添加失败");
  98. }
  99. }
  100. });
  101. })
  102. $("#user").change(function(){
  103. JSChecked();
  104. })
  105. });
  106. function JSChecked()
  107. {
  108. //取选中的用户名
  109. var uid=$("#user").val();
  110. $.ajax({
  111. url:"uchajs.php",
  112. data:{uid:uid},
  113. type:"POST",
  114. dataType:"TEXT",
  115. success: function(data){
  116. //清空原有选中信息
  117. $(".juese").prop("checked",false);
  118. //拆分一下data,得到该人员所拥有的角色代号
  119. var attr=data.split("|");
  120. //找到所有的复选框
  121. var ck=$(".juese");
  122. //遍历每个复选框,设置选中
  123. for(var i=0;i<ck.length;i++)
  124. {
  125. //ck.eq(i)可以取到每个具体的复选框,再.val()可以取到里面的value值
  126. var dh=ck.eq(i).val();
  127. //$.inArray(dh,attr)判断元素是否在数组中,如果在返回所在位置的索引,如果不在返回-1
  128. if($.inArray(dh,attr)>=0)
  129. {
  130. ck.eq(i).prop("checked",true);
  131. }
  132. }
  133. }
  134. });
  135. }
  136. </script>

 guanlicl.php

  1. <?php
  2. include("../dbda.php");
  3. $db=new dbda();
  4. $uid=$_POST["uid"];
  5. $juese=$_POST["js"];
  6. //将传入的角色字符串拆分为数组
  7. $attr=explode("|",$juese);
  8. //删除原数据
  9. $sdel="delete from userinjuese where userid=\'{$uid}\'";
  10. $db->Query($sdel,1);
  11. //循环添加数据
  12. foreach($attr as $v)
  13. {
  14. $sql="insert into userinjuese values(\'\',\'{$uid}\',\'{$v}\')";
  15. $db->Query($sql,1);
  16. }
  17. echo"ok";

 uchajs.php

  1. <?php
  2. include("../dbda.php");
  3. $db=new DBDA();
  4. $uid= $_POST["uid"];
  5. //根据用户名查角色代号
  6. $sql="select jueseid from userinjuese where userid=\'{$uid}\'";
  7. echo $db->strquery($sql);

 

版权声明:本文为yy01原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yy01/p/5669385.html