query($update_sql)) { $success = "Review approved successfully!"; } } // Handle rejection (delete) if (isset($_GET['reject'])) { $review_id = (int)$_GET['reject']; $delete_sql = "DELETE FROM survey_reviews WHERE id = $review_id"; if ($conn->query($delete_sql)) { $success = "Review rejected and deleted."; } } // Build query with filters $where_clauses = ["1=1"]; // Status filter $status_filter = isset($_GET['status']) ? $_GET['status'] : 'pending'; if ($status_filter === 'pending') { $where_clauses[] = "r.is_approved = 0"; } elseif ($status_filter === 'approved') { $where_clauses[] = "r.is_approved = 1"; } // Survey filter if (isset($_GET['survey']) && $_GET['survey'] !== '') { $survey_filter = (int)$_GET['survey']; $where_clauses[] = "r.survey_id = $survey_filter"; } // Build final query $where_sql = implode(" AND ", $where_clauses); $sql = "SELECT r.*, m.full_name, m.email, s.title as survey_title FROM survey_reviews r JOIN members m ON r.member_id = m.id JOIN survey_sites s ON r.survey_id = s.id WHERE $where_sql ORDER BY r.created_at DESC"; $result = $conn->query($sql); // Get statistics $pending_count = $conn->query("SELECT COUNT(*) as count FROM survey_reviews WHERE is_approved = 0")->fetch_assoc()['count']; $approved_count = $conn->query("SELECT COUNT(*) as count FROM survey_reviews WHERE is_approved = 1")->fetch_assoc()['count']; // Get all surveys for filter dropdown $surveys_sql = "SELECT id, title FROM survey_sites ORDER BY title ASC"; $surveys_result = $conn->query($surveys_sql); $page_title = 'Manage Reviews'; include '../includes/header.php'; ?>
← Back to Dashboard

Review Management

Pending Reviews
Approved Reviews
Reset
num_rows > 0): ?> fetch_assoc()): ?>

Reviewed by: ()

Submitted:

/5

✓ Approve ✗ Reject ✅ Approved

Total: num_rows; ?> review(s)

No reviews found matching your criteria.