85 lines
2.3 KiB
PHP
85 lines
2.3 KiB
PHP
<?php
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
require_once '../../bbs/db_conn.php';
|
|
|
|
// PDO 연결 생성
|
|
$pdo = db_conn();
|
|
|
|
try {
|
|
// 寃???뚮씪誘명꽣 諛쏄린
|
|
$belong_comp = $_GET['belong_comp'] ?? '';
|
|
$working_comp = $_GET['working_comp'] ?? '';
|
|
$member_id = $_GET['member_id'] ?? '';
|
|
$name = $_GET['name'] ?? '';
|
|
$dept_name = $_GET['dept_name'] ?? '';
|
|
$auth_level = $_GET['auth_level'] ?? '';
|
|
|
|
// SQL 荑쇰━ 以鍮?
|
|
$sql = "
|
|
SELECT
|
|
u.member_id,
|
|
u.name,
|
|
u.dept_name,
|
|
u.rank_name,
|
|
u.auth_level,
|
|
COALESCE(c1.code_name, u.belong_comp) AS belong_comp_name,
|
|
COALESCE(c2.code_name, u.working_comp) AS working_comp_name,
|
|
fn_get_code_name(u.auth_level) AS auth_level_name
|
|
FROM edu_users u
|
|
LEFT JOIN edu_codes c1 ON c1.group_code = 'CO100' AND c1.code = u.belong_comp
|
|
LEFT JOIN edu_codes c2 ON c2.group_code = 'CO100' AND c2.code = u.working_comp
|
|
WHERE 1=1
|
|
";
|
|
|
|
$params = [];
|
|
$types = '';
|
|
|
|
if (!empty($belong_comp)) {
|
|
$sql .= " AND u.belong_comp = ?";
|
|
$params[] = $belong_comp;
|
|
$types .= 's';
|
|
}
|
|
if (!empty($working_comp)) {
|
|
$sql .= " AND u.working_comp = ?";
|
|
$params[] = $working_comp;
|
|
$types .= 's';
|
|
}
|
|
if (!empty($member_id)) {
|
|
$sql .= " AND u.member_id LIKE ?";
|
|
$params[] = '%' . $member_id . '%';
|
|
$types .= 's';
|
|
}
|
|
if (!empty($name)) {
|
|
$sql .= " AND u.name LIKE ?";
|
|
$params[] = '%' . $name . '%';
|
|
$types .= 's';
|
|
}
|
|
if (!empty($dept_name)) {
|
|
$sql .= " AND u.dept_name LIKE ?";
|
|
$params[] = '%' . $dept_name . '%';
|
|
$types .= 's';
|
|
}
|
|
if (!empty($auth_level)) {
|
|
$sql .= " AND u.auth_level = ?";
|
|
$params[] = $auth_level;
|
|
$types .= 's';
|
|
}
|
|
|
|
$sql .= " ORDER BY u.name ASC";
|
|
|
|
$stmt = $pdo->prepare($sql);
|
|
if (!empty($params)) {
|
|
$stmt->execute($params);
|
|
} else {
|
|
$stmt->execute();
|
|
}
|
|
|
|
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
echo json_encode(['success' => true, 'users' => $users], JSON_UNESCAPED_UNICODE);
|
|
|
|
} catch (Exception $e) {
|
|
echo json_encode(['success' => false, 'message' => $e->getMessage()], JSON_UNESCAPED_UNICODE);
|
|
}
|
|
?>
|