Jinsi ya Kuweka Pagination kwenye Blog kwa PHP na MySQL
Kurahisisha usomaji kwa mtumiaji
Kuongeza speed ya website
Kuboresha SEO
Kuepuka kupakia data nyingi kwa mara moja
Kwa mfano, badala ya kuonyesha post 500 kwa page moja, unaonyesha post 5 au 10 kwa kila page.
Mfano wa Pagination Inavyofanya Kazi
Badala ya:
Post 1
Post 2
Post 3
...
Post 100
Unapata:
Page 1: Post 1 - 5
Page 2: Post 6 - 10
Page 3: Post 11 - 15
Na chini:
<< Prev | 1 | 2 | 3 | Next >>
Database Structure (Mfano)
Table: posts
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
PHP Pagination Code (Core Logic)
<?php
include "config.php"; // PDO connection
$limit = 5; // posts per page
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page - 1) * $limit;
// Fetch posts
$stmt = $pdo->prepare("SELECT * FROM posts ORDER BY id DESC LIMIT :start, :limit");
$stmt->bindValue(':start', $start, PDO::PARAM_INT);
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->execute();
$posts = $stmt->fetchAll();
?>
Ku-display Posts
<?php foreach($posts as $post): ?>
<div class="card mb-3">
<div class="card-body">
<h3><?= $post['title'] ?></h3>
<p><?= substr($post['content'], 0, 150) ?>...</p>
</div>
</div>
<?php endforeach; ?>
Pagination Links (Next & Prev)
<?php
$total = $pdo->query("SELECT COUNT(*) FROM posts")->fetchColumn();
$totalPages = ceil($total / $limit);
?>
<nav>
<ul class="pagination justify-content-center">
<?php if($page > 1): ?>
<li class="page-item">
<a class="page-link" href="?page=<?= $page-1 ?>">Prev</a>
</li>
<?php endif; ?>
<?php for($i=1; $i<=$totalPages; $i++): ?>
<li class="page-item <?= ($page==$i)?'active':'' ?>">
<a class="page-link" href="?page=<?= $i ?>"><?= $i ?></a>
</li>
<?php endfor; ?>
<?php if($page < $totalPages): ?>
<li class="page-item">
<a class="page-link" href="?page=<?= $page+1 ?>">Next</a>
</li>
<?php endif; ?>
</ul>
</nav>
Kuweka Bootstrap (Design ya Kitaalamu)
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
Inafanya pagination ionekane professional automatically.
SEO Tips kwa Pagination
1. Tumia URL Clean
Badala ya:
blog.php?page=2
Tumia:
/blog/page/2
(kwa kutumia .htaccess)
2. Tumia Meta Tags
Kwenye <head>:
<title>Jinsi ya Kuweka Pagination kwenye Blog kwa PHP</title>
<meta name="description" content="Mwongozo wa kitaalamu wa kuweka pagination kwenye blog kwa PHP na MySQL.">
3. Usionyeshe Content Nyingi Sana
Ideal:
5–10 posts per page (best for SEO & UX)
Faida za Pagination kwa Website
⚡ Website inakuwa fast
📱 Mobile friendly
🔍 Google ina-crawl pages vizuri
👥 User experience inaongezeka
Hitimisho
Pagination ni moja ya feature muhimu sana kwa blog yoyote ya kitaalamu. Kama unataka blog yako ionekane professional kama news website, e-commerce, au school portal, pagination ni lazima.
Kwa kutumia PHP + MySQL + Bootstrap, unaweza kutengeneza pagination ya kiwango cha juu kabisa bila kutumia framework yoyote.
Bonus: Pro Features Unazoweza Kuongeza
Baadaye unaweza kuongeza:
AJAX pagination (bila reload page)
Search + pagination
Category pagination
Infinite scroll (kama Facebook)