Pagination ni feature muhimu sana kwenye website au blog yoyote ya kisasa. Inasaidia kugawa data nyingi (posts, products, users n.k) kwenye kurasa ndogo ili:

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&quot; 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)