merakliadam
  • merakliadam
  • 7 yıl önce sordu
  • Php ile sayfalama yapımı

    Php ile sayfalama nasıl yapılır? Php sayfalama yapımı?
    Cevaplar(2)
    ismail
  • ismail
  • 7 yıl önce Cevapladı
  • Artık içerikleriniz çoğaldı ve bunları sayfalara ayırarak hem düzenli bir hale getirmek, hemde sitenin hızlı çalışmasını istiyorsunuz.Peki sayfalamayı nasıl yapabiliriz?Hemen başlayalım. İlk önce toplam sayfa sayısını bulalım.Aşağıdaki kod örneği ile sayfa sayısını buluyoruz.

    Yazılım Soru - Kod Kısmı

    
    
    $sayfada = 5; // sayfada gösterilecek içerik miktarını belirtiyoruz.
     
    $sorgu = mysql_query('SELECT COUNT(*) AS toplam FROM makale');
    $sonuc = mysql_fetch_assoc($sorgu);
    $toplam_icerik = $sonuc['toplam'];
     
    $toplam_sayfa = ceil($toplam_icerik / $sayfada);
    
    

    Diyelim her sayfada 5 içerik istiyoruz ve 12 içerik var, bu durumda (12 / 5 = 2.4), ceil fonksiyonu ile bu rakamı 3’e yuvarlıyoruz. Eğer normal round fonksiyonunu kullanırsak böyle bir durumda 2 sayfamız olur ve son 2 içerik görünmez. Evet şimdide bulunduğumuz sayfaya göre içerikleri listelemeye.Burada sayfa olarak yazan yeri isterseniz s olarakta yazabilirsiniz.Orası size kalmış.Şimdi link index.php?sayfa=2 gibi olacak.

    Yazılım Soru - Kod Kısmı

    
    
    // eğer sayfa girilmemişse 1 varsayalım.
    $sayfa = isset($_GET['sayfa']) ? (int) $_GET['sayfa'] : 1;
     
    // eğer 1'den küçük bir sayfa sayısı girildiyse 1 yapalım.
    if($sayfa < 1) $sayfa = 1; 
     
    // toplam sayfa sayımızdan fazla yazılırsa en son sayfayı varsayalım.
    if($sayfa > $toplam_sayfa) $sayfa = $toplam_sayfa; 
    
    

    Şimdi hangi sayfada olduğumuzu belirlediğimize göre artık verileri çekebiliriz.

    Yazılım Soru - Kod Kısmı

    
    
    // kaçıncı içerikten başlanacağını ifade edecek limit değeri.
    $limit = ($sayfa - 1) * $sayfada;
     
    $sorgu = mysql_query('SELECT * FROM makale LIMIT ' . $limit . ', ' . $sayfada);
     
    while($icerik = mysql_fetch_assoc($sorgu)) {
       // ...
    }
    
    

    Şimdi orada limit felan gördünüz noluyo lan dediniz değil mi :D Hemen açıklıyorum. LIMIT ifadesi eğer 15 yazarsanız veritabanındaki 15 içeriği getirir.Ama eğer 15 den sonra virgül ile ikinci bir sayı yazarsanız kaçıncı sıradan sonra vereceğini ifade eder. Her neyse devam ediyorum.Ee şimdi listeleme olayını yaptık sayfalara nasıl gidecekler?Sakin olun hemen onuda anlatıyorum :D Bunun için döngü ile toplam sayfa sayısı kadar link oluşturacağız. Ayrıca bulunduğumuz sayfayı da dikkate alarak o sayfayı yazarken link yapmayacağız.Anladınız mı? Kodu vereyim daha iyi anlayın :D

    Yazılım Soru - Kod Kısmı

    
    
    for($s = 1; $s <= $toplam_sayfa; $s++) {
       if($sayfa == $s) { // eğer bulunduğumuz sayfa ise link yapma.
          echo $s . ' '; 
       } else {
          echo '<a href="?sayfa=' . $s . '">' . $s . '</a> ';
       }
    }
    
    

    Eveet bu kadardı artık sayfalamayı yaptınız :D Teşekkür etmeyi unutmayın :D Doğru cevap olarak işaretlemeyide :D
    Beğen (1) Yorumlar(0) Yorum Yaz
    Gönder
    merakliadam
  • merakliadam
  • 7 yıl önce Cevapladı
  • Teşekkür ederim :D
    Beğen (1) Yorumlar(0) Yorum Yaz
    Gönder

    Cevap yazabilmek için Giriş yapmalısınız.Giriş yapmak için buraya Tıklayın.

    Kodlarınızı aşağıdaki alana yapıştırın.

  • Kod Ekle İptal Et
  • Üyeler
    Blog
    Hakkında
    Lab
    Gece Modu
    Giriş Yap
    Kayıt Ol
  • Giriş Yap
  • Şifremi unuttum
  • Kayıt olmak için tıklayın!