v2.5.2
Giriş yap

Php'de Site İçi Arama'da Listeleme Sayısına Göre Sayfalama Görüntülenmesi

yazilimyolcusu
574 defa görüntülendi

Merhabalar. Php'de listeleme yapıyorum. "index.php" sayfasındayken site içi arama yapıyorum. Arama sonrası eğer listeleme 5'ten büyük çıkarsa 2. sayfayı göstersin, eğer 5'ten küçükse göstermesini istemiyorum. Bakın 2. sayfa çıkıyor ama boş. Yani listelemeye göre ayarlama istiyorum. Ne yapmamı önerirsiniz?

yazilimyolcusu
1045 gün önce

Kodlar uzun ama kısaca ne yapmak istediğimi anlatayım.

<?php
if($_POST) {

    $Sayfa = @intval($_GET['sayfa']); if(!$Sayfa) $Sayfa = 1;
    $Say = $db->query("SELECT yaziekle_resim, yaziekle_baslik, yaziekle_konu, 
    yaziekle_kategori FROM yaziekle ORDER BY yaziekle_id DESC");
    $ToplamVeri = $Say->num_rows;
    $Limit = 5;
    $Sayfa_Sayisi = ceil($ToplamVeri/$Limit); if($Sayfa > $Sayfa_Sayisi){$Sayfa = 1;}
    $Goster = $Sayfa * $Limit - $Limit;
    $GorunenSayfa = 2;


        $ara = $_POST['kelime'];
        $aramasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik, yaziekle_konu, 
        yaziekle_kategori FROM yaziekle WHERE yaziekle_baslik like '%$ara%' ORDER BY yaziekle_id DESC LIMIT $Goster, $Limit";
        $aramasorgu   = $db->query($aramasorgusu);
        $aramasay = $aramasorgu->num_rows;
        if($aramasay > 0) {
            foreach($aramasorgu as $arama) { 
?>

                <div class=icerikalani-div>
                    <div class="icerik-ic-alani">
                        <div class="resim-div">
                            <img src="images/eklenenyaziresimleri/<?php echo $arama['yaziekle_resim']; ?>">
                        </div>
                        
    <div style="text-align:center; margin-top:10px; margin-bottom:10px;">
            <?php if ($Sayfa > 1) { ?>
            <span class="say_sabit"><a style="font-size:17px;" href="arama.php?sayfa=1">İlk</a></span>
            <div class="say_sabit"><a style="font-size:17px;" href="arama.php?sayfa=<?=$Sayfa - 1?>">Önceki</a></div>
            <?php } ?>
            <?php
            for($i = $Sayfa - $GorunenSayfa; $i < $Sayfa + $GorunenSayfa +1; $i++){ if($i > 0 and $i <= $Sayfa_Sayisi){
            if($i == $Sayfa){
            echo '<span style="font-size:17px; margin-right:8px; padding-left:8px;" class="say_aktif">'.$i.'</span>';
            }else{
            echo '<a style="font-size:17px; margin-right:8px; padding-left:8px;" class="say_a" href="arama.php?sayfa='.$i.'">'.$i.'</a>';
            }
            }
            }
            ?>
            <?php if ($Sayfa != $Sayfa_Sayisi) { ?>
            <div class="say_sabit"><a style="font-size:17px;" href="arama.php?sayfa=<?=$Sayfa + 1?>">Sonraki</a></div>
            <div class="say_sabit"><a style="font-size:17px;" href="arama.php?sayfa=<?=$Sayfa_Sayisi?>">Son</a></div>
            <?php } ?>
        </div>