16 Şubat 2014 Pazar

Php Sayfalama Sınıfı

sayfalama.php

////////////////////////////////////////////////////
//
// Code By İsmail Perim
// Dosya : /sayfalama.php
// Açıklama : Sayfalandırma Sınıfı
//
////////////////////////////////////////////////////

class Sayfalama
{
public $KayitSayisi = 10;
public $Sorgu = "";
public $ToplamKayit = "";
public $Linkler = "";
public $Sayfa = "";
public function Sayfalama($_Sorgu,$_TopKay,$_Sayfa,$_KayitSayisi=10)
{
$this->KayitSayisi = $_KayitSayisi;
$this->Sorgu = $_Sorgu ;
$this->ToplamKayit = $_TopKay;
$this->Sayfa = $_Sayfa;
}
public function Olustur()
{

$adet=15;

if($_GET['sayfa']==0)
{
$_GET['sayfa']=1;
$sayfa=0;
$kayit=0;
}
elseif($_GET['sayfa']==1)
{
$sayfa=0;
$kayit=0;
}
else
{
$sayfa=$_GET['sayfa'];
$kayit=($sayfa*$adet-$adet);
}

$sorgu_temp = $this->Sorgu." LIMIT $kayit,$adet ";
$this->Sorgu=mysql_query($sorgu_temp);

####################### LİNKLER #######################

$sonraki=$_GET['sayfa']+1;
$onceki=$_GET['sayfa']-1;
if($onceki>0)
{
$this->Linkler.=' [ Önceki ] ';
}
$say=$this->ToplamKayit;
$link=ceil($say/$adet);
$nokta=0;
$nokta1=0;
for($i=1;$i<$link+1;$i++)
{

if($i<$sayfa+6 && $i>$sayfa-6)
{
if((int)$sayfa==$i)
{
$this->Linkler.='';
}

$this->Linkler.=' ['.$i.'] ';

if((int)$sayfa==$i)
{
$this->Linkler.='
';
}

}
else
{
if( $i<$sayfa+6 && $nokta== 0)
{
$this->Linkler.= ' [ ... ] ';
$nokta = 1;
}
if( $i>$sayfa-6 && $nokta1== 0)
{
$this->Linkler.= ' [ ... ] ';
$nokta1 = 1;
}

}
}

if($sonraki<$link+1)
{
$this->Linkler.=' [ Sonraki ] ';
}


####################### / LİNKLER #######################
}
}



?>


Örnek Kullanım :

//
// Code By İsmail Perim
// Dosya : /sayfalama_ornek.php
// Açıklama : Sayfalandırma Sınıfı Örneği
//
////////////////////////////////////////////////////

# Sayfalama Sınıfımızı Ekliyoruz
include_once "sayfalama.php";

# MySQL Bağlantılarını Yaptığımız Sayfamız
include_once "baglanti.php";

# Toplam Kayıt Sayısını Alıyoruz.
$KayitSayisi = mysql_num_rows(mysql_query("SELECT * FROM Tablo"));

#Bir Sayfada Gösterilecek Kayıt Sayısı
$KacKayit = 15;

# Yeni Bir Sayfalama Sınıfı Türetiyoruz
$Sayfa = new Sayfalama("SELECT * FROM Tablo ",$KayitSayisi,"index.php?Islem=KayitListe&",$KacKayit);

# Sınıfımız Gerekli İşlemleri Yaparak Sorguları Sayfalandırmaya Uygun Hale Getiriyor
$Sayfa->Olustur();

# Oluşan Sayfa Linklerini Ekrana Bastırıyoruz
echo $Sayfa->Linkler;

# Sayfalandırma Sonucu Uygun Hale Getirilen Sorgumuzu İşlemlerimiz İçin Kullanıyoruz.
while($Veri = mysql_fetch_array($Sayfa->Sorgu))
{
#... İşlemlerimiz ... #
}
?>

Hiç yorum yok:

Yorum Gönder