Mysqli ile Sayfalamayı Nasıl Yapabilirim?
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.
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">«</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.'">»</a>
</li>
</ul>
</nav>';
?>