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
1043 gün önce

Şimdi ilk olarak "index.php" sayfasında veriler listeleniyor ve sayfalama yapıyorum. "index.php" sayfasındaki arama alanına aratacağım kelimeyi yazıp arattığımda "arama.php" sayfasına gidiyor. Bu sayfada da veriler filtrelenip listeleniyor ama sayfalama da kullanmak istiyorum. Aslında işleri kolaylaştırdım biraz galiba. Kodları şu şekilde değiştirdim tekrar. Zahmet olacak tekrar bakmanız mümkün mü? Çok bir değişiklik yok.
arama.php

<?php 
if($_POST) { 
$ara = $_POST['kelime'];
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik, 
yaziekle_konu, yaziekle_kategori FROM yaziekle WHERE yaziekle_baslik like '%$ara%'";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
?>

<?php
$sayfa = @$_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa))) {
$sayfa = 1;
}
$kacar = 3;
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik, 
yaziekle_konu, yaziekle_kategori FROM yaziekle";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
$sayfalamasorgusay = $sayfalamasorgu->num_rows;
$sayfasayisi = ceil($sayfalamasorgusay/$kacar);
$neredenbaslasin = ($sayfa*$kacar)-$kacar;
$bulsorgusu = "SELECT * FROM $sayfalamasorgusu ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar";
$bulsorgu = $db->query($bulsorgusu);

foreach($bulsorgusu as $bul) {
?>


<div class=icerikalani-div>
        <div class="icerik-ic-alani">
            <div class="resim-div">
                <img src="images/eklenenyaziresimleri/<?php echo $bul['yaziekle_resim']; ?>">
            </div>


            <div class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
                <div class="yazi-alani-baslik">
                    <?php echo $bul['yaziekle_baslik']; ?>
                </div>


                <div class="yazi-alani-yazi">
                    <?php echo nl2br($bul['yaziekle_konu']); ?>
                </div>


                <div class="kategori-ve-devaminioku-alani">
                    <div class="yazi-alani-kategori">
                        <?php echo $bul['yaziekle_kategori']; ?>
                    </div>

                    <div class="yazi-alani-devaminioku">
                        <a href="devaminioku.php?devam=<?php echo $bul['yaziekle_id']; ?>">Devamını Oku</a>
                    </div>
                </div>
            </div>
        </div>
    </div>


<?php } ?>


<?php
    for($i=1; $i<=$sayfasayisi; $i++) {
        echo "<a href='arama.php?sayfa={$i}'>{$i}</a>";
    }
?>



<?php } ?>

Hata:

PHP Warning:  Invalid argument supplied for foreach() in