Php 8 Sayfalama Linkleri

Php 8 Sayfalama Linkleri

PHP 8 ile sayfalama linkleri oluşturmak, kullanıcıların belirli sayfalara kolayca geçiş yapmalarını sağlar. Sayfalama bağlantıları, kullanıcı deneyimini artırmak ve büyük veri setlerini daha erişilebilir hale getirmek için önemlidir. İşte PHP 8 ile sayfalama linklerini oluşturmanın detaylı bir açıklaması:

1. Sayfa Bilgilerini Hazırlama

Öncelikle, toplam kayıt sayısını ve sayfa başına gösterilecek kayıt sayısını belirleyin. Daha sonra, toplam sayfa sayısını hesaplayın.

$totalRows = 100; // Örnek toplam kayıt sayısı $limit = 10; // Sayfa başına gösterilecek kayıt sayısı $totalPages = ceil($totalRows / $limit); // Toplam sayfa sayısı

2. Aktif Sayfayı Belirleme

Kullanıcının hangi sayfada olduğunu belirlemek için bir GET parametresi kullanın. Eğer GET parametresi yoksa varsayılan olarak 1. sayfayı gösterin.

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = max($page, 1); // Sayfa numarasını 1 veya daha büyük yap

3. Sayfalama Linklerini Oluşturma

Sayfalama linklerini oluşturmak için bir döngü kullanarak her sayfa için bir bağlantı oluşturun. Aktif sayfayı vurgulamak için özel bir sınıf ekleyebilirsiniz.

echo "<ul class='pagination'>"; for ($i = 1; $i <= $totalPages; $i++) { if ($i === $page) { echo "<li class='active'>$i</li>"; // Aktif sayfa için stil } else { echo "<li><a target="_blank" href='?page=$i'>$i</a></li>"; // Diğer sayfalar için bağlantılar } } echo "</ul>";

4. Önceki ve Sonraki Sayfa Linkleri

Kullanıcıların bir önceki ve sonraki sayfaya geçiş yapabilmesi için "Önceki" ve "Sonraki" bağlantıları ekleyebilirsiniz.

echo "<ul class='pagination'>"; // Önceki sayfa bağlantısı if ($page > 1) { echo "<li><a target="_blank" href='?page=" . ($page - 1) . "'>Önceki</a></li>"; } // Sayfa numarası bağlantıları for ($i = 1; $i <= $totalPages; $i++) { if ($i === $page) { echo "<li class='active'>$i</li>"; // Aktif sayfa için stil } else { echo "<li><a target="_blank" href='?page=$i'>$i</a></li>"; // Diğer sayfalar için bağlantılar } } // Sonraki sayfa bağlantısı if ($page < $totalPages) { echo "<li><a target="_blank" href='?page=" . ($page + 1) . "'>Sonraki</a></li>"; } echo "</ul>";

5. Tam Örnek

Aşağıda yukarıdaki adımları birleştiren tam bir örnek bulunmaktadır:

<?php // Veritabanı bağlantısı $host = 'localhost'; $db = 'veritabani_adi'; $user = 'kullanici_adi'; $pass = 'sifre'; try { $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Toplam kayıt sayısını alma $stmt = $pdo->query("SELECT COUNT(*) FROM tablo_adi"); $totalRows = $stmt->fetchColumn(); // Sayfa başına kayıt sayısını ve toplam sayfa sayısını hesaplama $limit = 10; $totalPages = ceil($totalRows / $limit); $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = max($page, 1); $offset = ($page - 1) * $limit; // Verileri çekme $stmt = $pdo->prepare("SELECT * FROM tablo_adi LIMIT :limit OFFSET :offset"); $stmt->bindValue(':limit', $limit, PDO::PARAM_INT); $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // Verileri görüntüleme foreach ($results as $row) { echo "<p>{$row['column_name']}</p>"; // 'column_name' yerine uygun sütun adını yazın } // Sayfalama bağlantılarını oluşturma echo "<ul class='pagination'>"; // Önceki sayfa bağlantısı if ($page > 1) { echo "<li><a target="_blank" href='?page=" . ($page - 1) . "'>Önceki</a></li>"; } // Sayfa numarası bağlantıları for ($i = 1; $i <= $totalPages; $i++) { if ($i === $page) { echo "<li class='active'>$i</li>"; // Aktif sayfa için stil } else { echo "<li><a target="_blank" href='?page=$i'>$i</a></li>"; // Diğer sayfalar için bağlantılar } } // Sonraki sayfa bağlantısı if ($page < $totalPages) { echo "<li><a target="_blank" href='?page=" . ($page + 1) . "'>Sonraki</a></li>"; } echo "</ul>"; } catch (PDOException $e) { echo "Hata: " . $e->getMessage(); } ?>

Sonuç

Bu örnek, PHP 8 kullanarak sayfalama linklerinin nasıl oluşturulacağını göstermektedir. Kullanıcılar, sayfa numaralarına tıklayarak veriler arasında gezinebilir ve "Önceki" ve "Sonraki" bağlantıları sayesinde daha iyi bir deneyim yaşayabilir. Bu yöntem, büyük veri setleriyle çalışırken kullanıcıların verilere erişimini kolaylaştırır.



Yorum Ekle

Üzerine gel