PHP ile Basit Sayfalama Örneği

PHP ile Basit Sayfalama Örneği

Merhaba arkadaşlar bugün PHP ile basit bir sayfalama örneği göstereceğim. Sayfalama yapımı ile ilgili birçok farklı method ve yöntem var. Ancak, bugün göstereceğim şekli en basit ve kolay şekilde yapılışını içermektedir.

Hazırsak başlayalım.

Öncelikle veritabanına bağlanalım.


$db = new PDO("mysql:host=localhost;
dbname=veritabani_adi;
charset=utf8" 
, "kullanici_adi" , "şifre" );

Örneğimizi göstermek amacıyla aşağıdaki gibi deneme isimli bir tablo oluşturdum.

Yukarıdaki ilgili yerleri kendinize uygun bir şekilde düzenledikten sonra veritabanı bağlantınızı başarı ile gerçekleştirebilirsiniz.

Kullanıcı hangi sayfaya gideceğini seçtiği zaman, GET ile sayfa numarasını alacağız. Eğer sayfa ilk defa yükleniyorsa varsayılan olarak ilk sayfayı seçeceğiz ve buna bağlı olarak SQL çağrısını yazacağız.

$sayfa = $_GET['page'];
$sayfa_limiti  = 5;
if($sayfa == '' || $sayfa == 1){
$sayfa1 = 0;
}else{
$sayfa1 = ($sayfa * $sayfa_limiti) - $sayfa_limiti;
}

Bu şekilde sayfa sayısını ayarlayıp, buna göre SQL çağrımızı yazmış olduk. Sayfa sayısını başka şekilde de hesaplayabilirsiniz fakat ben örnek olması açısından bu şekilde yaptım.

Daha sonra satır sayısını hesaplamamız gerekecek ki , böylelikle kaç sayfa olacağını belirleyelim.

$satir_sayisi = $db->query("SELECT *  FROM deneme WHERE 1")->rowCount();

Böylelikle satır sayısını belirlemiş olduk. Şimdi ise SQL sorgusu yazıp veri tabanındaki değerleri yazdıralım.

$sql = "SELECT * FROM deneme LIMIT " . $sayfa1 . "," . $sayfa_limiti;
$query = $db->query($sql);
foreach($query as $row){
echo $row['deger'] . '<br/>';
}

Şimdi veritabanındaki değerleri ekrana yazdırmış olduk. Daha sonra kaç sayfa olduğunu hesaplayıp. Sayfa sayısını yazdırmamız gerekecek.

Bunun için ise aşağıdaki gibi bir for döngüsü ile daha önce elde ettiğimiz satir_sayisi bilgisi ilse sayfa sayısını ekrana yazdırabiliriz.

$a = ceil($satir_sayisi/$sayfa_limiti);        
echo '<ul>';
for($b = 1 ; $b <= $a ; $b++){
echo '
<li><a href="sayfalama.php?page='. $b . ' ">'. $b . '</a></li>
';
}
echo '</ul>';

Vee bu kadar. Basit bir sayfalama örneği yapmış olduk. Kendinize göre gereken yerleri düzenleyebilir veya daha geliştirilmiş kodunuzu bizimle aşağıdaki yorum kısmından paylaşabilirsiniz.

Aşağıda da kodların tüm bir parça şeklindeki hali mevcut. Dilerseniz oradan direkt bakabilirsiniz. Bir başka yazıda görüşmek üzere

Bu da yaptığımız örneğin ekran görüntüsü :


Paylaş :

Full Stack Developer · Yazılım Tutkunu · Fikir, kod ve teknoloji Daha fazlası için hakkımda sayfasını ziyaret edebilirsiniz.


Yorumlar (5)

  • Çok Güzel Emeğine sağlık olabildiğince sade ve güzel oldu TŞK Kendime göre düzenlemeden sonra dehşet oldu

  • 3,5 sayfa olacaksa iyi de yüzlerce sayfa olacaksa sayda 100 tane kutucuk olacak. Yine türk işi eksik bir kodlama. Ayrıca İlk, Önceki, Sonraki, Son linkleri koymamışsınız.

  • Verdiğim kod en temel şeyleri içermekte. Geliştirmek de sizin elinizde tabii ki.

  • merhabalar hocam:) kodunuzun başlangıcı sayfalama.php?page=1 den başlıyor. yani tarayıcıda sayfalama.php diye girildiğinde hata vermiş olacak.


  • Bu yazı hakkındaki görüşünü benimle paylaşmaya ne dersin ?


    Email adresiniz yayınlanmayacaktır.

    Yorum yap butonuna
    bastıktan sonra yorumunuz gönderilecektir. Yorumunuz incelenip onaylandıktan sonra diğer ziyaretçilerimiz tarafından da görünecektir. Lütfen, yorum yaparken saygı çerçevesinde ve hakaret etmeden yorum yapmaya özen gösteriniz.

    Bu yorumu göndererek bu uyarıları okuduğumu ve kabul ettiğimi onaylıyorum.

    This site uses Akismet to reduce spam. Learn how your comment data is processed.