v2.5.2
Giriş yap

Bootstrap paginations butonlarını sayfalama sistemine uyarlama

salm552
733 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Hazır bulduğum sayfalama sistemini bootstrap paginations butonları ile uyarlamaya çalıştım ancak her defasında bir butonu uyduramadım yardımcı olabilir misiniz?

<?php

try{ 

   $db = new PDO("mysql:host=localhost;dbname=veri;charset=utf8", "root",""); //veri tabını baglantısı

}catch(PDOException $e){

   echo $e->getMessage(); 

}

$Sayfa   = @ceil($_GET['sayfa']); //5,2 girilirse eğer get o zaman onu tam sayı yapar yanı 5 yapıyoruz bu kod ile
if ($Sayfa < 1) { $Sayfa = 1;} //eğer get değeri yerine girilen sayi 1 den küçükse sayfa değerini 1 yapıyoruz yani 1. sayfaya atıyoruz
$Say   = $db->query("select * from urun order by id DESC"); //makale sayısını çekiyoruz

$ToplamVeri   = $Say->rowCount(); //makale sayısını saydırıyoruz

$Limit	= 3; //bir sayfada kaç içerik çıkacağını belirtiyoruz. 

$Sayfa_Sayisi	= ceil($ToplamVeri/$Limit); //toplam veri ile limiti bölerek her toplam sayfa sayısını buluyoruz

if($Sayfa > $Sayfa_Sayisi){$Sayfa = $Sayfa_Sayisi;} //eğer yazılan sayı büyükse eğer toplam sayfa sayısından en son sayfaya atıyoruz kullanıcıyı

$Goster   = $Sayfa * $Limit - $Limit; // sayfa= 2 olsun limit=3 olsun 2*3=6 6-3=3 buranın değeri 2. sayfada 3'dür 3-4-5-6... sayfalarda da aynı işlem yapılıp değer bulunur

$GorunenSayfa   = 5; //altta kaç tane sayfa sayısı görüneceğini belirtiyoruz.


$Makale	= $db->query("select * from urun order by id DESC limit $Goster,$Limit"); //yukarda göstere attıgımız değer diyelim ki 3 o zaman 3.'id den başlayarak limit kadar veri ceker.

$MakaleAl = $Makale->fetchAll(PDO::FETCH_ASSOC);

?>

<div id="Makale">

   <?php foreach($MakaleAl as $MakaleCek){?>

<div class="first">
<div class="card" style="width: 18rem;">
  <img src="./cardimgs/card.jpg" width="50px" height="150px" class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title"><?=$MakaleCek["urun_isim"]?></h5>
    <p class="card-text"><?=$MakaleCek["urun_aciklama"]?></p>
    <a href="#" class="btn btn-primary">İncele</a>
  </div>
</div>
</div>


   <?php } ?>

   <?php if($Sayfa > 1){?>
   <span class="say_sabit"><a href="index.php?sayfa=1">İlk</a></span> <!--1. Sayfaya gider-->

   <div class="say_sabit"><a href="index.php?sayfa=<?=$Sayfa - 1?>">Geri</a></div> <!--Bir Önceki Sayfaya Gitmek İçin Sayfa Değerini 1 eksiltiyoruz-->

   <?php } ?>

   <?php 

    for($i = $Sayfa - $GorunenSayfa; $i < $Sayfa + $GorunenSayfa +1; $i++){ // i kaç ise o sayıdan başlar 1-2-3-4-5 yazmaya. mesela sayfa 7deyiz 7 - 5 = 2'dir 2 sayfadan sonra sayfalamaya başlar yani 2-3-4-5-6-7 gibi bu aynı mantıkla devam eder.


      if($i > 0 and $i <= $Sayfa_Sayisi){

         if($i == $Sayfa){

            echo '<span class="say_aktif">'.$i.'</span>'; //eğer i ile sayfa değerleri aynıysa o zaman onu aktif css'si ekle

         }else{

            echo '<a class="say_a" href="index.php?sayfa='.$i.'">'.$i.'</a>'; //eğer aynı değilse normal listele

         }

      }

   }
   ?>
   <?php if($Sayfa != $Sayfa_Sayisi){?>

   <div class="say_sabit"><a href="index.php?sayfa=<?=$Sayfa + 1?>">İleri</a></div><!--Bir Sonra ki Sayfaya Gitmek için sayfa değerini 1 artırıyoruz.-->

   <div class="say_sabit"><a href="index.php?sayfa=<?=$Sayfa_Sayisi?>">Son</a></div><!--Buldugumuz Toplam Sayfa Sayısını buraya cekiyoruz tıklandıgında en son sayfaya gider-->
   <?php } ?>

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="#">Previous</a></li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item"><a class="page-link" href="#">Next</a></li>
  </ul>
</nav>

Yardımcı olan arkadaşlara şimdiden çok teşekkürler.

merchizm
1254 gün önce

@rephp7 birinci soruyu arkadaş yerine cevaplayım. fonksiyonu fonksiyonlar dosyana atabilirsin. fonksiyon dışındaki kodlar fonksiyonu nasıl kullanacağını gösteren bir kod. Tabi istersen sen bunları amacına göre birleştirip de bir fonksiyon oluşturabilirsin.

ikinci sorunuza dair ne yazık ki hiç bir şey anlamadım. farklı bir durumda fonksiyonu kullanmak istiyorsanız, sonuçta kodu okuyup dilediğiniz kısmı değiştirebilirsiniz.