Php Sayfalama Için Basit Bir Örnek Yapalım

fikretyn 

Moderatör
moderatör rank
Katılım
12 Mar 2024
Konular
38
Mesajlar
48
Tepkime puanı
23
Çevrimiçi zaman
13 saat 57 dakika
Konum
samsun
Ticaret
0 / 0 / 0

Sayfalama yapmak için genellikle bir veritabanından büyük miktarda veri çektiğinizde veya bir liste veya sonuç kümesini kullanıcıya gösterirken kullanılır. Bu, büyük veri kümelerini kullanıcıya daha kolay ve daha hızlı bir şekilde sunmanıza olanak tanır. PHP ile sayfalama yapmanın birkaç farklı yöntemi vardır, ancak en yaygın olanı sayfa numaraları veya "önceki/sonraki" düğmeleri kullanmaktır.

İşte PHP ile sayfalama yapmanın basit bir örneği:

Adım 1: Veritabanından Veri Alın​

Öncelikle, veritabanından veri almanız gerekecek. Bu örnekte, basit bir MySQL veritabanı kullanacağız. Örneğin, bir blog gönderisi listesi alalım:
PHP:
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

// Hata kontrolü
if ($conn->connect_error) {
    die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
}

// Veri çekme sorgusu
$sql = "SELECT * FROM blog_posts";
$result = $conn->query($sql);

// Verileri döngüyle görüntüleme
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Başlık: " . $row["title"]. "<br>";
    }
} else {
    echo "0 sonuç";
}

// Veritabanı bağlantısını kapatma
$conn->close();
?>

Adım 2: Sayfalama İşlemini Gerçekleştirin​

Daha sonra, veritabanından alınan veriyi sayfalama işlemiyle düzenlemeniz gerekecek. Bu, kullanıcının hangi sayfa numarasında olduğunu izlemek ve sadece belirli bir sayfa numarasındaki verileri görüntülemek anlamına gelir. Örneğin, her sayfada 10 gönderi gösterelim:
PHP:
<?php
// Sayfa numarasını belirleme
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// Gösterilecek sonuç sayısı
$results_per_page = 10;

// Veritabanı bağlantısı
// ...

// Sorgu oluşturma
$limit_start = ($page - 1) * $results_per_page;
$sql = "SELECT * FROM blog_posts LIMIT $limit_start, $results_per_page";
$result = $conn->query($sql);

// Sonuçları döngüyle görüntüleme
// ...

// Sayfalama bağlantıları oluşturma
$sql = "SELECT COUNT(*) AS total FROM blog_posts";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $results_per_page);

// Önceki ve sonraki sayfa bağlantılarını oluşturma
echo "<a href='?page=1'>İlk Sayfa</a> ";
for ($i=1; $i<=$total_pages; $i++) {
    echo "<a href='?page=".$i."'>".$i."</a> ";
}
echo "<a href='?page=$total_pages'>Son Sayfa</a>";
?>
Bu kod, belirli bir sayfa numarasındaki verileri almak için LIMIT kullanır ve sayfa numaralarını göstermek için önceki/sonraki düğmelerini oluşturur. Kullanıcı herhangi bir sayfa numarasına tıkladığında, $_GET değişkeni üzerinden hangi sayfanın gösterildiğini belirleyebiliriz. Bu şekilde, büyük veri kümelerini sayfa sayfaya gösterebiliriz.
 

Benzer konular

Ana Sayfa Kayıt Ol Giriş Yap
Üst