Bu Blogda Ara

28 Mayıs 2010 Cuma

Php de Sayfalama Yapmak

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.



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 "
"
;

}

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

if($git > 1){

$onceki = $git-1;


}

// sayfa 1'i yazdir
if($git==1) echo "[1]";
else echo "[1]";
// "..." 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 "[$i]";
else echo "[$i]";
if($i==$lastP) break;
}
// "..." veya son sayfa
if($git+$x < $lastP-1) {
echo "...";
echo "[$lastP]";
} elseif($git+$x == $lastP-1) {
echo "[$lastP]";
}

if($git < $lastP){

$sonraki = $git+1;


}

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.

Hiç yorum yok:

Yorum Gönder