prepare(" SELECT COUNT(*) FROM membership_designations WHERE designation = ? AND membership_type = ? AND id != ? "); $stmt->execute([$designation, $membership_type, $id]); if ($stmt->fetchColumn() > 0) { throw new Exception('This designation already exists for this membership type.'); } if ($_POST['action'] === 'add') { $stmt = $db->prepare(" INSERT INTO membership_designations ( membership_type, designation, designation_hindi, sort_order, status, created_at ) VALUES (?, ?, ?, ?, ?, NOW()) "); $stmt->execute([$membership_type, $designation, $designation_hindi, $sort_order, $status]); $message = 'Designation successfully added!'; } else { $stmt = $db->prepare(" UPDATE membership_designations SET membership_type = ?, designation = ?, designation_hindi = ?, sort_order = ?, status = ?, updated_at = NOW() WHERE id = ? "); $stmt->execute([$membership_type, $designation, $designation_hindi, $sort_order, $status, $id]); $message = 'Designation information updated!'; } $action = 'list'; } catch (Exception $e) { $error = 'Error: ' . htmlspecialchars($e->getMessage()); } break; case 'delete': try { $delete_id = $_POST['id']; $stmt = $db->prepare("DELETE FROM membership_designations WHERE id = ?"); $stmt->execute([$delete_id]); $message = 'Designation successfully deleted!'; } catch (Exception $e) { $error = 'Deletion error: ' . htmlspecialchars($e->getMessage()); } break; } } } // Get designation data for editing $designation_data = null; if ($action === 'edit' && $id > 0) { $stmt = $db->prepare("SELECT * FROM membership_designations WHERE id = ?"); $stmt->execute([$id]); $designation_data = $stmt->fetch(); if (!$designation_data) { $error = 'Designation not found!'; $action = 'list'; } } // Get designations list $designations = []; if ($action === 'list') { $where_clause = ''; $params = []; if (!empty($status_filter)) { $where_clause = 'WHERE status = ?'; $params[] = $status_filter; } $stmt = $db->prepare("SELECT * FROM membership_designations $where_clause ORDER BY membership_type, sort_order, designation"); $stmt->execute($params); $designations = $stmt->fetchAll(); } // Function to get membership type name function getMembershipTypeName($type) { $names = [ 'active' => 'Active Membership', 'gram_panchayat' => 'Gram Panchayat Level', 'block' => 'Block Level', 'tehsil' => 'Tehsil Level', 'district' => 'District Level', 'mandal' => 'Mandal Level', 'state' => 'State Level', 'national' => 'National Level' ]; return $names[$type] ?? $type; } include 'includes/header.php'; ?>