////////////////////////////////////////////////////
//
// 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