• 20-01-2021, 22:13:00
    #1
    İyi günler, projemde sayfalama yapıyorum fakat şöyle bir durum ile karşılaştım. İlk sayfada 6 adet blog yazısı gözükecek. Bu oluyor ama sayfa 2 ye geçildiğinde gösterilen blog yazıları sayfa 1 deki ile aynı yani mesela, ilk sayfada "a, b, c, d, e, f" yazıları var ise ikinci sayfada "g, h, i, j, k, l" yazıları gözükmesi lazım. Fakat ikinci sayfada tekrardan "a, b, c, d, e, f" yazıları gözüküyor. Tüm kodları aşağı atıyorum. Şimdiden teşekkür ederim yardımlarınız için.

    NOT : KODLAR DÜZGÜN YAPIŞMADI. KUSURA BAKMAYIN.

    <?php
                $ToplamVeri = $VeritabaniBaglantisi->query("SELECT COUNT(*) FROM blog")->fetchColumn(); // Tabloda kaç tane kayıt olduğunu buluyoruz            $Goster = 6; // Her sayfada kaç veri görünsün            $ToplamSayfa = ceil($ToplamVeri / $Goster);  // Toplam sayfa sayımızı buluyoruz sonucu yuvarlıyoruz            $Sayfa = isset($_GET["sayfa"]); // Sayfa numaramızı get metodu ile yolladığımız "s" değeri ile alıyoruz            if($Sayfa < 1) $Sayfa = 1; // Eğer kullanıcı sayfa numarasına 1'den küçük değer girerse 1.sayfayı gösteriyoruz            if($Sayfa > $ToplamSayfa) // Eğer kullanıcı sayfa numarasına toplam sayfadan daha fazla değer girerse en son sayfayı gösteriyoruz            {                $Sayfa = (int)$ToplamSayfa;            }            $Limit = ($Sayfa - 1) * $Goster;  // Veri tabanında listelemme yaparken limit ile kaçıncı veriden başladığını belirtiyoruz.            
                $BlogSor = $VeritabaniBaglantisi->prepare("SELECT * FROM blog ORDER BY Tarih DESC LIMIT :basla, :bitir");            $BlogSor->bindValue(":basla",$Limit,PDO::PARAM_INT);            $BlogSor->bindValue(":bitir",$Goster,PDO::PARAM_INT);            $BlogSor->execute();
                while($BlogCek = $BlogSor->fetch(PDO::FETCH_ASSOC))            {                if ($BlogCek['Durum']==1)                {
                ?>            <div class="col-md-4 col-sm-4 col-12">                <div class="blog-grid-2">                    <div class="blog-grid-img">                        <img src="felixpanel/<?php echo $BlogCek['Resim']; ?>" alt="<?php echo $BlogCek['Baslik']; ?>" style="width: 358px; height: 251px;">                    </div>                    <div class="blog-grid-text">                        <h4><a href="blog-detay.php?id=<?php echo $BlogCek['id']; ?>"><?php echo $BlogCek['Baslik']; ?></a></h4>                        <ul>                            <li><i class="fa fa-calendar"></i><?php echo TarihBul($BlogCek['Tarih']); ?></li>                        </ul>                        <p><?php echo Guvenlik(substr($BlogCek['Yazi'],0,125)); ?>[...]</p>                        <div class="blog-grid-2-button left-holder"><a href="blog-detay.php?id=<?php echo $BlogCek['id']; ?>">Devamını Oku <i class="fa fa-chevron-right"></i></a>                        </div>                    </div>                </div>            </div>            <?php
                    }            }
                ?>
                <div class="mt-30 center-holder">                <?php
                    for($i = 1; $i<=$ToplamSayfa;$i++)                {
                    ?>                <a href="blog.php?sayfa=<?php echo $i;?>" class="grey-button-bordered button-pagination semi-rounded"><?php echo $i;?></a>                <?php
                    }
                    ?>                <a href="#" class="grey-button-bordered button-pagination semi-rounded"><i class="fas fa-angle-right"></i></a>            </div>
  • 20-01-2021, 22:26:39
    #2
    Aşağıdaki kodu kendinize uyarlayın projemde kullandığım kod
    $sayfa                = @intval($_GET['sayfa']);
    if(!$sayfa) $sayfa = 1;
    $sor = $baglan->prepare("SELECT COUNT(*) FROM haberler");
    $sor->execute();$toplam = $sor->fetchColumn();
    $limit            = 20;
    $sayfa_sayisi    = ceil($toplam/$limit);
    if($sayfa > $sayfa_sayisi) $sayfa = 1;
    $goster            = $sayfa * $limit - $limit;
    
    $sor = $baglan->prepare("SELECT * FROM haberler where durum=1 ORDER BY id DESC limit $goster,$limit");
    $sor->execute();
    $kullan   = $sor->fetchAll(PDO::FETCH_ASSOC);
  • 20-01-2021, 22:29:21
    #3
    Başla ile bitiri yer değiştirip dene
    yani göster ile limiti yer değiştir.
  • 21-01-2021, 09:38:52
    #4
    SNDizayn adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki kodu kendinize uyarlayın projemde kullandığım kod
    $sayfa                = @intval($_GET['sayfa']);
    if(!$sayfa) $sayfa = 1;
    $sor = $baglan->prepare("SELECT COUNT(*) FROM haberler");
    $sor->execute();$toplam = $sor->fetchColumn();
    $limit            = 20;
    $sayfa_sayisi    = ceil($toplam/$limit);
    if($sayfa > $sayfa_sayisi) $sayfa = 1;
    $goster            = $sayfa * $limit - $limit;
    
    $sor = $baglan->prepare("SELECT * FROM haberler where durum=1 ORDER BY id DESC limit $goster,$limit");
    $sor->execute();
    $kullan   = $sor->fetchAll(PDO::FETCH_ASSOC);
    Çok teşekkürler.