+90 531 872 73 33
PHP İLE VERITABANINDAKİ VERİYİ SAYFALAMA MANTIĞI

PHP İLE VERITABANINDAKİ VERİYİ SAYFALAMA MANTIĞI

  • 8,069 Kez okundu
  • Php
  • 0 Yorum

$sorgu = mysql_query(‘select * from tablo’)

$top_sayfa = ceil(mysql_num_rows($sorgu) / 12);

 

Yukarıda tablomuzda kaç kayıt olduğunu bulduk ve toplam kayıt sayısını 12 ye bölerek her 12 kayıtta bir sayfa oluşturacağımızı bildirdik. Ve dikkat ettiyseniz bölme işlemi ceil fonksiyonu içerisinde oluyor. Ceil fonksiyonu bölme işleminde eğer sonuc float olarak çıkarsa onu vuvarlamamızı sağlıyor.
Daha sonra kullanıcının tıkladığı sayfa numarasını almamız gerekli. Bunun için;

$sayfa = $_GET[‘sayfa_no’];

İf(empty($sayfa) or !is_numeric($sayfa) or $sayfa>$top_sayfa){

$sayfa = 1;

}

Yukarıdaki örnek kodda url den gelen sayfa query_string değerini aldık ve $sayfa değişkenine atadık. Tabi bu değişkeni kontrol etmemiz lazım gelen sayfa numarası eğer boşsa ya da numerik değilse ya da toplam sayfa sayısından büyükse 1. Sayfa değerini atadık.
Şimdi sayfalamaya kaçıncı kayıttan başlanacağını bulabiliriz. Bunun için;

$baslangic = (($sayfa – 1) * 12);

Yukarıdaki gibi sayfalamaya başlanacağı kaydı belirlemek için gelen sayfa değerini 1 eksilterek kaç kayıtta bir sayfalama yapacaksak o sayıda çarpıyoruz.
Gerekli ayarlamaları yaptıktan sonra artık sorgumuzu yazabiliriz.


 

$sorgu = mysql_query(‘select * from tablo LIMIT ’.$baslangic.’,12’);

while($bilgi = mysql_fetch_assoc($sorgu)){

//Verilerin ekrana yazdırılması.

}

Yukarıdaki gibi select sorgumuzu oluşturduk. Sogumuzda asıl sayfalama işini LIMIT fonksiyonu ile yapmaktayız. LIMIT fonksiyonuna şu şekilde iki adet parametre  gönderebiliriz; Veriler okunmaya kaçıncı kayıttan başlanacak, kaç kayıt okunacak; Ayrıca SQL Server da LIMIT fonksiyonuna karşılık TOP fonksiyonu kullanılır fakat LIMIT fonksiyonu gibi iki adet parametre almaz.
Son olarakda sayfalama linkelerimizi ekrana basalım;


 For($i=1; $i<=$top_sayfa; $i++){

echo ‘’.$i.’ ’;

}

Sayfalama işlemi kısaca şu şekilde olacak; ilk olarak kullanıcıdan sayfa numarası alınacak daha sonra bu numara bir eksiltilip kaç kayıtta sayfalama yapılacaksa onunla çarpılacak. Daha sonra sql sorgumuz içinde LIMIT fonksiyonu ile kayıtlar belirli aralıklarda okunacak; Örneğin; kullanıcıdan gelen sayfa numarası 1 olsun; kaçıncı kayıttan sayfalamaya başlanacağını bulmak için (1 – 1) * 12 işleminin sonucu 0 olacak; yani sayfalamaya 0. Kayıttan başlanacak. Sql sorgumuzda da LIMIT fonksyonuna (1 – 1) * 12  işleminin sonucu olan Kayıttan başla 12 kayıt al şeklinde bir koşul belirledik.

Henüz kimse yorum eklememiş

YORUM YAPMAK İSTER MİSİN?

    En Çok Okunan Yazılar
    Etiket Bulutu
    fonksiyon global kullanımıfonksiyon nasıl yapılırfonksiyonreferansfonksiyon tanımlamafunction globalglobal ifadesiphp fonksiyonphp fonksiyon kullanımıphp fonksiyon örnekleriphp fonksiyonlarphp fonksiyonlar nedirphp fonksiyonlarıphp functionphp referansreturn ifadesivarsayılan parametrebreak ifadesido while döngüsüdöngü örnekleridöngüler nasıl kullanılırdöngülere örnekdöngüleri durdurumakfor döngüsüforeach döngüsüphp döngülerphp döngüleriphp for döngüsüphp foreach döngüsüphp loopphp while döngüsüphp while döngüsü örnekleriwhile döngüsüPHP ile ekrana yazı yazmaekrana yamaDeğişkenlerphp değişkenlerdeğişkenleri kontrol etmekdeğişkenlerphp değişkenlerle matematiksel işlemlerconstfinaloopprivateprotectedpublicstaticphp datephp mktimephp saatphp strftimephp strtotimephp tarihphp tarih farkıphp türkçe tarihphp türkiye saatiphp unix timestampunixtimephp tarih formatıphp mysql tarihmysql tarih formatıgelen kutusu mailphp gmail smtpphp mailphp mail dosya eklemephp mail dosya göndermephp mail göndermekphp smtp classphp smtp mailsmtp mailsmtp mail göndermespama düşmeden mail göndermephpveritabanısayfalamaphp ile veritabanındaki veriyi sayfalama mantığıgoogle sıralamaseoseo rehberigoogle başarıpagerankseo nedirseo puanıseo başarısısite içi seosite dışı seobacklinkbacklink almaanahtar kelimelerphpde fonksiyonlarfunctiongetdate()date()time()mktime()Zaman FonksiyonlarıStatik FonksiyonlarGlobal Fonksiyonlarcsscss3menüyatay menücss yatay menüyatay menü yapımıhtmlhtml5wordpresswordpress sayfa şablonuwordpress başlangıçgoogle map değişiklikgoogle adres değişiklikgoogle mapte adresimi değiştirmekgoogle haritalara firma eklemekgoogle haritalara yeni adres eklemekpr6pagerank6prli sitepagerank yüksek backlinkgoogleda ilk sayfaalexa düşürmepagerank yükseltmepr yükseltmeseo backlinkseo uyumlu makalepagerank7pr7ücretsiz pr7 backlinkücretsiz pagerank 7 backlinkprogramlama mantığıalgoritmaalgoritmaya girişprogram yazmayazılım öğrenwindows loadersiteye loader eklemeloader yapımıcss3 loaderjquery loadersiteye lütfen bekleyiniz yazısıIP adresiniz değiştirildicpanelcpanel hataIP adresiniz değiştirildi hatasıinnerinner joinveritabanı tablo birleştirmeinner join işlemleriveritabanı tabloları bağlamamysql inner-join