Nedir?

Veritabanından çekilen verilerin sayfalanmasında kullanılabilecek "hafif" bir sınıftır. Bir sayfada kaç tane veri gösterileceğine göre sayfalama yapar ve "öncekiler" - "sonrakiler" bağlantıları ile veriler arasında dolaşımı sağlar. PHP5 uyumludur.

Kullanımı

Kullanımı son derece basittir.

include ("sayfalama_sinif.php");
$sayfalamaNesnesi = new sayfalama($baslangic, $toplam, $limit, basename($_SERVER["PHP_SELF"]), "x=1");
$sayfalamaNesnesi->sayfalamaYap();

Nesnenin oluşturulması için gereken değerler:

başlangıç değeri: Sayfa numarasını ifade eder, 0'dan başlar.

toplam değeri: Veritabanındaki toplam kayıt sayısını ifade eder.

limit değeri: Bir sayfada toplam kaç tane veri gösterileceğini ifade eder.

sayfa adı: Kodun bulunduğu, sayfalamanın yapıldığı sayfanın adıdır.

varsa başka değişken: Sayfada başka değişken varsa o değişken ve değeri.

Tam bir örneği şu şekilde verebiliriz:

$limit = 5; //bir sayfada gosterilecek oge sayisi 
if ($_GET["baslangic"] == "") //deger yollanmamissa 0 olur 
{
    $baslangic = 0;
}
else
{
    $baslangic = $_GET["baslangic"];
}

$kayitbaslangici = $baslangic * $limit; //sorgu cumlesi icin degisken hazirlaniyor

mysql_connect("localhost", "root", "") or die("Bağlantı hatası!!!");
mysql_select_db("veritabani_adi") or die("Veritabanı seçim hatası!!!");
$sql = "SELECT * FROM sayfalamadeneme ORDER BY id DESC LIMIT $kayitbaslangici, $limit";
$ssql = mysql_query($sql);

$sql2 = "SELECT * FROM sayfalamadeneme";
$toplam = mysql_num_rows(mysql_query($sql2)); //toplam satir sayisi aliniyor

while ($yaz = mysql_fetch_array($ssql)) //veriler yazdiriliyor
{
    echo " - ". $yaz["isim"];
    echo "<br />";
}

include ("sayfalama_sinif.php");
$sayfalamaNesnesi = new sayfalama($baslangic, $toplam, $limit, basename($_SERVER["PHP_SELF"]), "x=1");
$sayfalamaNesnesi->sayfalamaYap();

$baslangic değişkeni, hangi sayfada olduğumuzu ifade eder ve sayfa yüklenirken her hangi bir değer gönderilmemişse "0" olarak başlatılır.

$limit değişkenini bir sayfada kaç kayıt göstermek istediğimize göre kendimiz belirliyoruz.

Veritabanına bağlanıp kaç satır çekeceğimizi ise $kayitbaslangici değişkeni ile sağlıyoruz. Bu değişkenin değeri $baslangic * $limit değerine eşit oluyor. Sayfa ilk kez yüklendiğinde 0*5 = 0 sonucuna göre sorgu cümlemiz veritabanından kayıtları okumaya 0. satırdan başlayacak. Bir sonraki sayfada ise 1*5 = 5. satırdan okumaya başlayacak.

$toplam değişkeninin değerini ise mysql_num_rows() fonksiyonu ile kolaylıkla sağlayabiliriz.

Kodun bulunduğu sayfanın adını direk yazabiliriz, index.php olarak, ama basename($_SERVER["PHP_SELF"]) şeklinde yazarak da bu değeri sağlayabiliriz.

Eğer bir sayfaya gönderilmiş olan başka değişken değeri varsa bunları da nesnemizi oluştururken ekleyebiliriz: "x=1" gibi.

Nesnemizi oluşturduktan sonra $sayfalamaNesnesi->sayfalamaYap(); koduyla sayfalamayı kolaylıkla gerçekleştirebiliriz.

Bu kodun ekran çıktısı şu şekilde olacak:

sayfalama_ekran_goruntusu

 

Methodlar

sayfalamaYap()

Sınıfa yüklenmiş değerlere göre sayfalamayı gerçekleştirir, ekran çıktısı yukarıdaki resimdekine benzer şekilde olur.

degerleriGoster()

Sınıfa yüklenmiş olan değerleri kontrol etmek için kullanılır, geliştiricilerin işini kolaylaştırmak için tasarlanmıştır.

Ekran çıktısı aşağıdakine benzer şekilde olacaktır:

ekran_goruntusu

Versiyon Geçmişi

v 1.0: İlk sürüm. (Nisan 2008)

Lisans

Bu yazılım, GNU Public lisansı ile lisanslanmıştır.

İletişim

Sınıfı hazırlayan: İsa Engiz
Eposta Adresi: engisa@gmail.com