Php sayfalama
<?php
echo "Merhaba php sayfalama yapmak istiyorum yapıyorum ama istediğim gibi değil ben
[1][2[3][4][5]...[20] gibisinden sıralama yaptırmak istiyorum nasıl yaparım sizce
";
?>
Benim kodlarım bu şekilde
<?php
$sayfada = 16;
$sorgu=$db->prepare("SELECT * from urunler");
$sorgu->execute();
$toplam_icerik=$sorgu->rowCount();
$toplam_sayfa = ceil($toplam_icerik / $sayfada);
// 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;
$limit = ($sayfa - 1) * $sayfada;
$urunsor=$db->prepare("SELECT * FROM urunler WHERE urun_durum=:urun_durum ORDER BY urun_id DESC limit $limit,$sayfada");
$urunsor->execute(array('urun_durum' => 1));
<?php
$s=0;
while ($s < $toplam_sayfa) {
$s++; ?>
<?php
if ($s==$sayfa) {?>
<li class="page-item">
<a class="page-link" href="index.php?sayfa=<?php echo $s; ?>">
<?php echo $s; ?>
</a>
</li>
<?php } else {?>
<li class="page-item">
<a class="page-link" href="index.php?sayfa=<?php echo $s; ?>">
<?php echo $s; ?>
</a>
</li>
<?php } }
?>
fonksiyonu doğru kullandınız mı?
örnek:
$current_page = 5;
$total_records = 100; // bunun bir işlevi yok fonksiyondanda buradanda kaldırabilirsin.
$total_pages = 10;
$page_url = 'index.php';
echo paginate($current_page, $total_records, $total_pages, $page_url);