get_dept_user.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. session_start();
  3. include('../permission/connect_sql.php');
  4. $user_list = array();
  5. $sql = "SELECT DISTINCT [User].[UserID],[Account],[UserName],[DepartmentID],[Group].[GroupID],[GroupName] FROM [User]
  6. LEFT JOIN [UserGroup] ON [User].[UserID] = [UserGroup].[UserID]
  7. LEFT JOIN [Group] ON [UserGroup].[GroupID] = [Group].[GroupID]
  8. LEFT JOIN [GroupRight] ON [GroupRight].[GroupID] = [Group].[GroupID]
  9. LEFT JOIN [WebPage] ON [WebPage].[PgroupID] = [GroupRight].[PgroupID]
  10. WHERE [DepartmentID] = (SELECT [DepartmentID] FROM [User] WHERE [UserID] = ?) ORDER BY [GroupName]";
  11. $stmt = sqlsrv_query($conn, $sql, array($_SESSION['UserID']));
  12. $users = array();
  13. $permissions = array();
  14. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  15. if (in_array($row["UserID"], $user_list)) {
  16. $index = array_search($row["UserID"],$user_list);
  17. array_push($users[$index]["GroupID"],$row["GroupID"]);
  18. array_push($users[$index]["GroupName"],$row["GroupName"]);
  19. } else {
  20. $temp = array();
  21. $temp["UserID"] = $row["UserID"];
  22. $temp["Account"] = $row["Account"];
  23. $temp["UserName"] = $row["UserName"];
  24. $temp["DepartmentID"] = $row["DepartmentID"];
  25. $temp["GroupID"] = array($row["GroupID"]);
  26. $temp["GroupName"] = array($row["GroupName"]);
  27. array_push($users, $temp);
  28. array_push($user_list, $row["UserID"]);
  29. }
  30. }
  31. $sql = "SELECT [GroupID],[GroupName] FROM [Group] WHERE [GroupID] != 'Admin'";
  32. $stmt = sqlsrv_query($conn, $sql, array($_SESSION['UserID']));
  33. while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
  34. $temp = array();
  35. $temp["GroupID"] = $row["GroupID"];
  36. $temp["GroupName"] = $row["GroupName"];
  37. array_push($permissions, $temp);
  38. }
  39. $data["users"] = $users;
  40. $data["permissions"] = $permissions;
  41. echo json_encode($data);