Php 8 Sayfalama
PHP 8 ile sayfalama, büyük veri setlerini kullanıcı dostu bir şekilde görüntülemek için kullanılır. Sayfalama, genellikle veritabanlarından veri çekerken kullanılır ve verileri belirli sayfalara bölerek daha yönetilebilir hale getirir. İşte PHP 8 ile sayfalama yapmanın temel adımları ve örnek bir uygulama:
1. Veritabanı Bağlantısı
Öncelikle, bir veritabanına bağlanmanız gerekir. Bu örnekte MySQL kullanacağız.
<?php $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); } catch (PDOException $e) { echo "Bağlantı hatası: " . $e->getMessage(); } ?> 2. Toplam Kayıt Sayısını Alma
Sayfalama yapmak için toplam kayıt sayısını bilmemiz gerekir.
<?php $stmt = $pdo->query("SELECT COUNT(*) FROM tablo_adi"); $totalRows = $stmt->fetchColumn(); ?> 3. Sayfa Başına Kayıt Sayısı
Sayfa başına kaç kayıt görüntülemek istediğinizi belirleyin.
$limit = 10; // Sayfa başına gösterilecek kayıt sayısı $totalPages = ceil($totalRows / $limit); 4. Aktif Sayfanın Belirlenmesi
Kullanıcının hangi sayfada olduğunu belirlemek için bir GET parametresi kullanabilirsiniz.
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = max($page, 1); // Sayfa numarasını 1 veya daha büyük yap $offset = ($page - 1) * $limit; // Offset hesaplama 5. Verileri Çekme
Veritabanından verileri sayfalara bölerek çekin.
$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); 6. Sayfaları Gösterme
Kullanıcıya sayfa bağlantılarını gösterin.
echo "<ul class='pagination'>"; for ($i = 1; $i <= $totalPages; $i++) { if ($i === $page) { echo "<li class='active'>$i</li>"; } else { echo "<li><a target="_blank" href='?page=$i'>$i</a></li>"; } } echo "</ul>"; Tam Örnek
Aşağıda yukarıdaki tüm adımları birleştiren bir örnek bulunmaktadır:
<?php $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); $stmt = $pdo->query("SELECT COUNT(*) FROM tablo_adi"); $totalRows = $stmt->fetchColumn(); $limit = 10; $totalPages = ceil($totalRows / $limit); $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = max($page, 1); $offset = ($page - 1) * $limit; $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); foreach ($results as $row) { echo "<p>{$row['column_name']}</p>"; // 'column_name' yerine uygun sütun adını yazın } echo "<ul class='pagination'>"; for ($i = 1; $i <= $totalPages; $i++) { if ($i === $page) { echo "<li class='active'>$i</li>"; } else { echo "<li><a target="_blank" href='?page=$i'>$i</a></li>"; } } echo "</ul>"; } catch (PDOException $e) { echo "Hata: " . $e->getMessage(); } ?> Sonuç
Bu örnekle, PHP 8 kullanarak veritabanından verileri sayfalama yöntemiyle çekmeyi öğrenmiş oldunuz. Sayfalama, kullanıcı deneyimini artırmak için önemli bir özelliktir ve büyük veri setleri ile çalışırken oldukça faydalıdır.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 Sayfalama dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!