query("SELECT id, name, slug FROM categories WHERE status = 1 ORDER BY name ASC")->fetchAll(); $query_parts = " FROM posts p LEFT JOIN categories c ON p.category_id = c.id LEFT JOIN users u ON p.author_id = u.id WHERE p.status = 'published' "; $params = []; if (!empty($search_query)) { $query_parts .= " AND (p.title LIKE :query OR p.content LIKE :query)"; $params[':query'] = "%{$search_query}%"; } if (!empty($filter_category_slug)) { $query_parts .= " AND c.slug = :cat_slug"; $params[':cat_slug'] = $filter_category_slug; } $count_stmt = $conn->prepare("SELECT COUNT(*) " . $query_parts); $count_stmt->execute($params); $total_results = $count_stmt->fetchColumn(); $total_pages = ceil($total_results / $limit); $sql = " SELECT p.*, c.name as category_name, c.slug as category_slug, u.name as author_name " . $query_parts . " ORDER BY p.published_at DESC LIMIT :limit OFFSET :offset "; $stmt = $conn->prepare($sql); $stmt->bindValue(':limit', $limit, PDO::PARAM_INT); $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); foreach ($params as $key => $val) { $stmt->bindValue($key, $val); } $stmt->execute(); $results = $stmt->fetchAll(); function get_search_pagination_url($page) { $qs = $_GET; $qs['page'] = $page; return BASE_URL . "/search?" . http_build_query($qs); } $page_title = $search_query ? "Search: " . $search_query : "Search Articles"; require_once 'layouts/header.php'; ?>

Search Results

Found results for ""

0): ?>
1): ?>
1): ?>
= $page - 1 && $i <= $page + 1)): ?>

No matches found

We couldn't find any articles for "". Try different keywords or check your spelling.

Back to Homepage