PHP ile Sayfalama Yapımı

PHP ile sayfalama yapımını mantık olarak LIMIT ile satır sayısını alıp onu sayfalara bölmek anlamına getirebiliriz.
İletişim sayfasından bana ulaşarak bu dersi sabırla bekleyen sayın Süleyman Vural’a gösterdiği sabrından dolayı da teşekkür etmek isterim.

Birçok yoğun projeden fazla ders ekleme imkanım olmadı. Fakat yine de pek fazla detaya girmeden öncelikle örnek olarak yaptığım kodları paylaşacağım. Kodlar kütüphanemden örneğe çevirdiğim kodlardır.  SQL dosyasıyla birlikte çalışma dosyasını indirip localhostta deneme yanılma yöntemini kullanarak çalışmalar da yapabilirsiniz.

İleri ve geri sayfaları mantık olarak +1 ve -1 yapmaktan kaynaklanıyor. Yani İlerisi için şu anki sayfadan +1 arttırıyoruz ve gerisi içinde -1 azaltıyoruz. Kodlara bakarak daha iyi anlayabilirsiniz.

<?php

include ("ayar.php");

$limit = 5;

$git = @$_GET["git"];

if(empty($git) or !is_numeric($git)) {

$git = 1;

}

 $count		 = mysql_num_rows(mysql_query("SELECT id FROM sayfa"));
 $toplamsayfa	 = ceil($count / $limit);
 $baslangic	 = ($git-1)*$limit;

$sorgu = "SELECT * FROM sayfa ORDER BY id ASC LIMIT $baslangic,$limit";

$yazdir_sorgu = mysql_query( $sorgu, $mysqlbaglantisi) or die(mysql_error() );

while ($yazdir = mysql_fetch_array($yazdir_sorgu)){

echo $yazdir['title'];
echo "<br>";

}

if($count > $limit) :
 $x = 2; // akrif sayfadan önceki/sonraki sayfa gösterim sayisi
 $lastP = ceil($count/$limit);

 if($git > 1){

 $onceki = $git-1;

 echo "<a href=\"?git=$onceki\">« Önceki Sayfa </a>";

 }

 // sayfa 1'i yazdir
 if($git==1) echo "<span class=\"sayfa\">[1]</span>";
 else echo "<a href=\"?git=1\">[1]</a>";
 // "..." veya direkt 2
 if($git-$x > 2) {
 echo "...";
 $i = $git-$x;
 } else {
 $i = 2;
 }
 // +/- $x sayfalari yazdir
 for($i; $i<=$git+$x; $i++) {
 if($i==$git) echo "<span class=\"sayfa\">[$i]</span>";
 else echo "<a href=\"?git=$i\">[$i]</a>";
 if($i==$lastP) break;
 }
 // "..." veya son sayfa
 if($git+$x < $lastP-1) {
 echo "...";
 echo "<a href=\"?git=$lastP\">[$lastP]</a>";
 } elseif($git+$x == $lastP-1) {
 echo "<a href=\"?git=$lastP\">[$lastP]</a>";
 }

 if($git < $lastP){

 $sonraki = $git+1;

 echo "<a href=\"?git=$sonraki\"> Sonraki Sayfa » </a>";

 }

endif;

?>

Çalışma dosyasını buradan indirip ayar.php dosyasından kendi mysql bağlantı ayarlarını yaparak sql dosyasınıda import ederek örneği inceleyebilirsiniz.
Kavradıktan sonra kendi sayfalama sistemlerinizide geliştirirsiniz.

Loading Facebook Comments ...

Leave a comment

 Characters available