v2.5.2
Giriş yap

Mysqli ile Sayfalamayı Nasıl Yapabilirim?

yazilimyolcusu
556 defa görüntülendi

Merhaba arkadaşlar. İnternette hep pdo ile ilgili sayfalama örnekleri var. Çok karmaşık olmayan sayfalama örneklerini bulamadım. Acaba bir sayfalama örneği var mı elinizde.

Cevap yaz
Cevaplar (5)
qplot
1293 gün önce

mysqli ile yaparsan ki çoğu mysqli yazanların siteleri açık dolu mysqli ile pdo arasında ufacık fark var ama pdo kesinlikle daha güvenli


$post=$_POST['deger'];

$list=$db->query("SELECT * FROM sayfa WHERE id=$post"); sanırım mysqli bu şekilde yazılıyor

BUDA PDO VERSIYONU fazla bir fark yok

$list=$db->prepare("SELECT * FROM sayfa WHERE id=?");
$list->execute([$post]);

KISACASI HIZ KAYBETMEDEN PDO YA DÖN

yazilimyolcusu
1293 gün önce

Yok pdo karışık değil. Bende pdo ile çalışan sayfalama örneği var. Ben mysqli ile yapmayı öğrenmek istiyorum. "mysqli" ile yapılan birkaç tane örnek buldum. Ama bana biraz karmaşık geldi. Ben mysqli ile yapılan arıyorum. Yine de teşekkür ederim. :)

emmir2
1293 gün önce

Pdonun neresi karışık ki bir örnek bırakayım

<?php 
   $sayfada = SAYFADA KAÇ ADET OLACAK BELİRT - 10 VEYA 16 GİBİ; 
    $sorgu=$db->prepare("SELECT * from tabloadin");
    $sorgu->execute();
    $toplam_icerik=$sorgu->rowCount();
    $toplam_sayfa = ceil($toplam_icerik / $sayfada);
    $sayfa = isset($_GET['sayfa']) ? (int) $_GET['sayfa'] : 1;
    if($sayfa < 1) $sayfa = 1;
    if($sayfa > $toplam_sayfa) $sayfa = $toplam_sayfa; 
    $limit = ($sayfa - 1) * $sayfada;
    $x=$db->prepare("SELECT * FROM tabloadin WHERE tabloid DESC limit $limit,$sayfada");
    $x->execute();
?>
Sayfalatma İşlemi
<?php
    $s=0;
     while ($s < $toplam_sayfa) {
      $s++; ?>
      <?php 
      if ($s==$sayfa) {?>
            <li class="page-item">
                <a class="page-link" href="sayfa.php?sayfa=<?php echo $s; ?>">
                    <?php echo $s; ?>
                </a>
            </li>
            <?php } else {?>
           <li class="page-item">
               <a class="page-link" href="sayfa.php?sayfa=<?php echo $s; ?>">
                   <?php echo $s; ?>
               </a>
           </li>
           <?php } } 

?>
yazilimyolcusu
1293 gün önce

Sayfadaki problemin resmini koyuyorum. "0" var, "-1" var. Geri gittikçe eksilere gidiyor sayfa.
https://www.hizliresim.com/m5mm9zv

yazilimyolcusu
1294 gün önce

Arkadaşlar şöyle bir kod buldum. Çalışıyor ama -1,-2-,-3 gibi geriye doğru ilerliyor ve 4. sayfa olmamasına rağmen ileriye doğru gidiyor. Bir de diyelim ki -2. sayfadayım. En soldaki "<<" işaretine tıkladığımda ilk sayfaya atıyor, bu iyi ama ileriye doğru bir sayfadayken mesela 2,3,4 vs. "sıfır" ıncı sayfaya atıyor. Halbuki benim verilerim 1. sayfadan başlıyor. Sayfaların eksiye gitmesini ve "sıfırıncı" sayfaya gitmesini nasıl önleyebilirim.

<?php
$gosterilecek_toplam_veri = 10;
// Veritabanındaki kayıt sayısını bul
$sql='SELECT * FROM hakkimizda';
$sonuc = mysqli_query($conn, $sql);
$sonuc_sayisi = mysqli_num_rows($sonuc);

$sayfa_numarasi = ceil($sayfa_numarasi/$gosterilecek_toplam_veri);
// Şu anda açık ziyaretçi sayfasını belirle
if (!isset($_GET['page'])) {
  $sayfa = 1;
} else {
  $sayfa = $_GET['page'];
}
// gösterilen sayfanın sonuçları için numara belirle
$bu_sayfanin_sonuclari = ($sayfa-1)*$gosterilecek_toplam_veri;

$sql='SELECT * FROM hakkimizda LIMIT ' . $bu_sayfanin_sonuclari . ',' .  $gosterilecek_toplam_veri;
$sonuc = mysqli_query($conn, $sql);

?>

<div class="right_col" role="main">

<div style="width:100%; height:600px;">

<div style="width:100%; height:37px; line-height:30px; margin-top:40px; background:#4b7096;
font-size:16px; color:#fff; text-align:center; font-weight:bold;">Hakkımızda Yazısı Listesi
</div>


<div style="width:70%; height:37px; line-height:37px; margin-top:3px; background:#4b7096; font-size:16px;
color:#fff; text-align:center; font-weight:bold; float:left;">Hakkımızda İçerik
</div>


<div style="width:30%; height:37px; line-height:37px; margin-top:3px; background:#4b7096; font-size:16px;
color:#fff; text-align:center; font-weight:bold; margin-left:70%;">Düzenle - Sil
</div>

<?php while($row = mysqli_fetch_array($sonuc)) {

?>

<div style="width:70%; height:37px; line-height:37px; margin-top:3px; background:#4b7096; font-size:14px;
color:#fff; text-align:center; float:left;" name="hakkimizdaadi">

<?php echo substr($hakkimizda['hakkimizda_icerik'],0,155); ?></div>


<div style="width:30%; height:37px; line-height:37px; margin-top:3px; background:#4b7096; font-size:16px;
color:#fff; text-align:center; font-weight:bold; margin-left:70%;">
<a href="hakkimizdaduzenle.php?hakkimizdaduzenle=<?php echo $hakkimizda['hakkimizda_id']; ?>">
<img src="../../../images/icons/edit.png" title="Düzenle" />
</a>

<a href="hakkimizdasil.php?hakkimizdasil=<?php echo $hakkimizda['hakkimizda_id']; ?>">
<img src="../../../images/icons/delete.png" style="padding-left:25px;" title="Sil"/>
</a>

</div>

<?php } ?>

<?php
$onceki1 = $sayfa-2;
$onceki = $sayfa-1;
$ileri = $sayfa+1;
$ileri1 = $sayfa+2;
echo '
<nav aria-label="Page navigation example">
 <ul class="pagination justify-content">
   <li class="page-item">
     <a class="page-link" href="hakkimizdayazisilistele.php?page=1" tabindex="1">&laquo;</a>
   </li>
   <li class="page-item">
     <a class="page-link" href="hakkimizdayazisilistele.php?page='.$onceki.'" tabindex="-1">Geri</a>
   </li>

  <li class="page-item"><a class="page-link" href="hakkimizdayazisilistele.php?page='.$onceki1.'">'.$onceki1.'</a></li>

  <li class="page-item"><a class="page-link" href="hakkimizdayazisilistele.php?page='.$onceki.'">'.$onceki.'</a></li>

<li class="page-item"><a style="background-color: #ddd;" class="page-link" href="hakkimizdayazisilistele.php?page='.$sayfa.'">'.$sayfa.'</a></li>

   <li class="page-item"><a class="page-link" href="hakkimizdayazisilistele.php?page='.$ileri.'">'.$ileri.'</a></li>

  <li class="page-item"><a class="page-link" href="hakkimizdayazisilistele.php?page='.$ileri1.'">'.$ileri1.'</a></li>

  <li class="page-item">
     <a class="page-link" href="hakkimizdayazisilistele.php?page='.$ileri.'">İleri</a>
   </li>
   <li class="page-item">
     <a class="page-link" href="hakkimizdayazisilistele.php?page='.$sayfa_numarasi.'">&raquo;</a>
   </li>
  </ul>
 </nav>';
?>