prepare("UPDATE users SET status = 'approved' WHERE id = ?"); $stmt->execute([$_POST['user_id']]); echo json_encode(['success' => true, 'message' => 'User approved successfully']); break; case 'reject': $stmt = $pdo->prepare("UPDATE users SET status = 'rejected' WHERE id = ?"); $stmt->execute([$_POST['user_id']]); echo json_encode(['success' => true, 'message' => 'User rejected successfully']); break; case 'delete': $stmt = $pdo->prepare("DELETE FROM users WHERE id = ?"); $stmt->execute([$_POST['user_id']]); echo json_encode(['success' => true, 'message' => 'User deleted successfully']); break; case 'update': $stmt = $pdo->prepare("UPDATE users SET name = ?, email = ?, phone = ?, user_type = ?, status = ? WHERE id = ?"); $stmt->execute([ $_POST['name'], $_POST['email'], $_POST['phone'], $_POST['user_type'], $_POST['status'], $_POST['user_id'] ]); echo json_encode(['success' => true, 'message' => 'User updated successfully']); break; default: echo json_encode(['success' => false, 'message' => 'Invalid action']); } } catch (PDOException $e) { echo json_encode(['success' => false, 'message' => 'Database error: ' . $e->getMessage()]); } exit(); } // Get users with pagination $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $limit = 10; $offset = ($page - 1) * $limit; $search = isset($_GET['search']) ? trim($_GET['search']) : ''; $status_filter = isset($_GET['status']) ? $_GET['status'] : ''; $where_conditions = []; $params = []; if ($search) { $where_conditions[] = "(name LIKE ? OR email LIKE ? OR phone LIKE ?)"; $params[] = "%$search%"; $params[] = "%$search%"; $params[] = "%$search%"; } if ($status_filter) { $where_conditions[] = "status = ?"; $params[] = $status_filter; } $where_clause = $where_conditions ? 'WHERE ' . implode(' AND ', $where_conditions) : ''; // Get total count $count_sql = "SELECT COUNT(*) FROM users $where_clause"; $count_stmt = $pdo->prepare($count_sql); $count_stmt->execute($params); $total_users = $count_stmt->fetchColumn(); $total_pages = ceil($total_users / $limit); // Get users $sql = "SELECT * FROM users $where_clause ORDER BY created_at DESC LIMIT $limit OFFSET $offset"; $stmt = $pdo->prepare($sql); $stmt->execute($params); $users = $stmt->fetchAll(); include 'header.php'; ?>