PHP Sayfalama Sınıfı
Gerek sql ile, gerekse explode ile bölerek kullanabilmek için az önce yazdığım, basit ama kullanışlı bir sınıf. Kolayca düzenleyip, istediğiniz yerde kullanabilirsiniz.
Sınıfı BURADAN indirebilirsiniz. Kullanım için örnek verecek olursak
PHP kodu
require_once('ek/class-sayfalama.php'); $sayfalama= new sayfalama(); $sayfalama->sayfa=& $_GET['sayfa']; $sayfalama->toplam=$db['sayi']; $sayfalama->sayfa_basina=$sitebilgi['sayfa_tane']; $sayfalama->url='index.php?sayfa=%d'; $sayfalama->degisken='sayfa'; $sayfalama->hazirla(); $sorgu=$vt->sorgu("SELECT baslik,girismetni FROM makale ORDER BY id DESC LIMIT ".$sayfalama->baslangic.",".$sayfalama->sayfa_basina); while (............) { ....... }
şeklinde veritabanından aldığınız bilgileri sayfalayabilri veya
PHP kodu
require_once('ek/class-sayfalama.php'); $sayfalama= new sayfalama; $sayfalama->sayfa=& $_GET['sayfa']; $sayfalama->sayfa_basina=1; $sayfalama->url='makale/dunyayi-kurtaran-adam/%d/'; $sayfalama->hazirla(); $metin=$sayfalar[$sayfalama->baslangic]; ....
Bu sınıfın kodları da şu şekilde
PHP kodu
<?php /* yazar: Gündüz Can YILMAZ Açıklama: sayfa sayısı, sayfa başına gösterilecek adet gibi ayarlardan sonra sizin için */ class sayfalama { public $toplam; public $sayfa_basina; public $sayfa_sayisi; public $url; public $baslangic; public $ilerigeri; public $ilkson; public $sayfa; private $set; function __construct() { $this->sayfa_basina=10; $this->baslangic='0,10'; $this->ilerigeri=true; $this->ilkson=true; $this->sayfa=1; $this->set=false; } function hazirla() { $this->sayfa=$this->sayfa < 1 ? 1 :$this->sayfa; $this->baslangic=(($this->sayfa-1)*$this->sayfa_basina); $this->set=true; } } function sayfala() { if($this->set==false) $this->hazirla(); $ilk_sayfa=$this->sayfa-5; $son_sayfa=$this->sayfa+5; if($this->ilkson==true){ $ilk_link='<a class="ilkson" href="'.$this->link(1).'"> <<< </a>'; $son_link='<a class="ilkson" href="'.$this->link($this->sayfa_sayisi).'"> >>> </a>'; } else $ilk_link=$son_link=''; if($ilk_sayfa <=1 ){$ilk_sayfa=1;$ilk_link='';} if($son_sayfa >= $this->sayfa_sayisi ){$son_sayfa=$this->sayfa_sayisi;$son_link=' ';} $sayfalar='<!-- sayfalama başlangıç --><p class="sayfalama">'; $sayfalar.=$ilk_link; for($i=$ilk_sayfa;$i<=$son_sayfa;$i++){ $class= ($this->sayfa==$i) ? 'aktif_sayfa' : 'pasif_sayfa'; $sayfalar.='<a class="'.$class.'" href="'.$this->link($i).'" title="'.$i.'. Sayfa"> '.$i.' </a>'; } $sayfalar.=$son_link; $sayfalar.='<!-- sayfalama bitiş -->'; return $sayfalar; } } ?>
Bu sınıf için kullandığım css kodları ise şu şekilde
CSS kodu
.sayfalama { float:right; padding:5px; } .sayfalama a { font-size:14px; font-weight:bold; color:#fff; padding: 5px 5px 5px 5px; margin: 0 1px 0 1px; border: 2px solid #262626; } a.aktif_sayfa { background:#8AC800; } a.pasif_sayfa { background:#DD6611; }

