if(!empty($_POST['kelime'])) {
$ara = $_POST['kelime'];
}
if(!empty($_GET['kelime'])) {
$ara = $_GET['kelime'];
} Php Filtreleme Sonucunu Sayfalama Yapma Sorunu
13
●298
- 21-02-2022, 17:24:25Yanlış olmadıysa dediğiniz gibi bazı yerleri değiştirerek kodları aşağıdaki gibi yaptım. Ama sayfada hiç listeleme olmuyor ve hata da vermiyor.
index.php
<div class="arama-alani-div"> <form action="arama.php?aranankelime" method="POST"> <input type="text" name="kelime" placeholder="Arama yap"> <input type="submit"> </form> </div>
arama.php
<?php if(!empty($_POST['aranankelime'])) { $ara = $_POST['kelime']; if(!empty($_GET['aranankelime'])) { $ara = $_GET['kelime']; $sayfalamasorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%'"; $sayfalamasorgu = $db->query($sayfalamasorgusu); $sayfasay = $sayfalamasorgu->num_rows; if($sayfasay > 0) { $sayfa = @$_GET['sayfa']; if((empty($sayfa)) or (!is_numeric($sayfa))) { $sayfa = 1; } $kacar = 2; $sayfasayisi = ceil($sayfasay/$kacar); $neredenbaslasin = ($sayfa*$kacar)-$kacar; $sorgusu = "SELECT * FROM yaziekle ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar"; $sorgu = $db->query($sorgusu); foreach($sayfalamasorgu as $sorgu) { ?> <div class="container-fluid"> <div class=icerikalani-div> <div class="icerik-ic-alani"> <div class="resim-div"> <img src="images/eklenenyaziresimleri/<?php echo $sorgu['yaziekle_resim']; ?>"> </div> <div class="baslik-ve-yazi-alani-kategori-ve-devaminioku"> <div class="yazi-alani-baslik"> <?php echo $sorgu['yaziekle_baslik']; ?> </div> <div class="yazi-alani-yazi"> <?php echo nl2br($sorgu['yaziekle_konu']); ?> </div> <div class="kategori-ve-devaminioku-alani"> <div class="yazi-alani-kategori"> <?php echo $sorgu['yaziekle_kategori']; ?> </div> <div class="yazi-alani-devaminioku"> <a href="devaminioku.php?devam=<?php echo $sorgu['yaziekle_id']; ?>">Devamını Oku</a> </div> </div> </div> </div> </div> </div> <?php } ?> <?php for($i=1; $i<=$sayfasayisi; $i++) { echo "<a href='arama.php?sayfa={$i}&kelime=$aranankelime'>{ $i}</a>"; } ?> <?php } else { echo "0"; } ?> <?php } } ?> - 21-02-2022, 21:41:40CodingStudent adlı üyeden alıntı: mesajı görüntüle
Benim yazdığım POST ve GET blockları ayrı sen iç içe almışsın ayrıca değerler yanlış olmuş şu şekil de denermisin
<?php $ara = ''; if(!empty($_POST['kelime'])) { $ara = $_POST['kelime']; } if(!empty($_GET['kelime'])) { $ara = $_GET['kelime']; } if(!empty($ara)) { $sayfalamasorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%'"; $sayfalamasorgu = $db->query($sayfalamasorgusu); $sayfasay = $sayfalamasorgu->num_rows; if($sayfasay > 0) { $sayfa = @$_GET['sayfa']; if((empty($sayfa)) or (!is_numeric($sayfa))) { $sayfa = 1; } $kacar = 2; $sayfasayisi = ceil($sayfasay/$kacar); $neredenbaslasin = ($sayfa*$kacar)-$kacar; $sorgusu = "SELECT * FROM yaziekle ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar"; $sorgu = $db->query($sorgusu); foreach($sayfalamasorgu as $sorgu) { ?> <div class="container-fluid"> <div class=icerikalani-div> <div class="icerik-ic-alani"> <div class="resim-div"> <img src="images/eklenenyaziresimleri/<?php echo $sorgu['yaziekle_resim']; ?>"> </div> <div class="baslik-ve-yazi-alani-kategori-ve-devaminioku"> <div class="yazi-alani-baslik"> <?php echo $sorgu['yaziekle_baslik']; ?> </div> <div class="yazi-alani-yazi"> <?php echo nl2br($sorgu['yaziekle_konu']); ?> </div> <div class="kategori-ve-devaminioku-alani"> <div class="yazi-alani-kategori"> <?php echo $sorgu['yaziekle_kategori']; ?> </div> <div class="yazi-alani-devaminioku"> <a href="devaminioku.php?devam=<?php echo $sorgu['yaziekle_id']; ?>">Devamını Oku</a> </div> </div> </div> </div> </div> </div> <?php } ?> <?php for($i=1; $i<=$sayfasayisi; $i++) { echo "<a href='arama.php?sayfa={$i}&kelime=$ara'>{ $i}</a>"; } ?> <?php } else { echo "0"; } ?> <?php } ?> - 21-02-2022, 23:08:47Html kısmını aşağıdaki gibi kullandım. Php kısmını da tam sizin dediğiniz gibi yaptım. Şimdi arama yaptığımda hem 1. sayfada hem de 2. sayfada filtrelenenlerin hepsi çıkıyor. yani 3 adet sonuç çıkacaktı. 1. sayfada 3'ü de çıkıyor. Aynısı 2. sayfada da çıkıyor. Problemi çözmek üzeresiniz.
<div class="arama-alani-div"> <form action="arama.php" method="POST"> <input type="text" name="kelime" placeholder="Arama yap"> <input type="submit"> </form> </div>
- 22-02-2022, 01:32:44Denemeden yapıyorum ama eksik bileşenler atamalar var bu konu üzerinde çalışman gerek
<?php $ara = ''; if(!empty($_POST['kelime'])) { $ara = $_POST['kelime']; } if(!empty($_GET['kelime'])) { $ara = $_GET['kelime']; } if(!empty($ara)) { $sayfalamasorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%'"; $sayfalamasorgu = $db->query($sayfalamasorgusu); $sayfasay = $sayfalamasorgu->num_rows; if($sayfasay > 0) { $t_sayfa = @$_GET['sayfa']; if((empty($t_sayfa)) or (!is_numeric($t_sayfa))) { $t_sayfa = 1; } $kacar = 2; $sayfasayisi = ceil($sayfasay/$kacar); $neredenbaslasin = ($t_sayfa*$kacar)-$kacar; $sorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%' ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar"; $sorgu = $db->query($sorgusu); foreach($sayfalamasorgu as $sorgu) { ?> <div class="container-fluid"> <div class=icerikalani-div> <div class="icerik-ic-alani"> <div class="resim-div"> <img src="images/eklenenyaziresimleri/<?php echo $sorgu['yaziekle_resim']; ?>"> </div> <div class="baslik-ve-yazi-alani-kategori-ve-devaminioku"> <div class="yazi-alani-baslik"> <?php echo $sorgu['yaziekle_baslik']; ?> </div> <div class="yazi-alani-yazi"> <?php echo nl2br($sorgu['yaziekle_konu']); ?> </div> <div class="kategori-ve-devaminioku-alani"> <div class="yazi-alani-kategori"> <?php echo $sorgu['yaziekle_kategori']; ?> </div> <div class="yazi-alani-devaminioku"> <a href="devaminioku.php?devam=<?php echo $sorgu['yaziekle_id']; ?>">Devamını Oku</a> </div> </div> </div> </div> </div> </div> <?php } ?> <?php for($i=1; $i<=$sayfasayisi; $i++) { echo "<a href='arama.php?sayfa={$i}&kelime=$ara'>{ $i}</a>"; } ?> <?php } else { echo "0"; } ?> <?php } ?>