Php Sayfa İçi Arama Yapma Sorunu
Merhabalar. Arkadaşlar site içi arama yapmak istiyorum ama beceremedim. Hata alıyorum. Kodlara bir bakabilir misiniz? Bu arada kod kalabalığı olmasın diye sadece "başlık" kısmını listelettim burada.
Hata şu:
PHP Warning: Invalid argument supplied for foreach() in
html sayfası
<div class="arama-alani-div">
<form action="arama.php" method="POST">
<input type="text" name="kelime" placeholder="Arama yap">
<input type="submit">
</form>
</div>
islem sayfası
<?php
if($_POST) {
$ara = $_POST['kelime'];
$aramasorgusu = "SELECT yaziekle_resim, yaziekle_baslik, yaziekle_konu,
yaziekle_kategori FROM yaziekle WHERE yaziekle_baslik like '%$ara%' ORDER BY yaziekle_id DESC";
$aramasorgu = $db->query($aramasorgusu);
$aramasay = $aramasorgu->num_rows;
if($aramasay > 0) {
foreach($aramasay 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 class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
<div class="yazi-alani-baslik">
<?php echo $arama['yaziekle_baslik']; ?>
</div>
<?php } } } ?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
Çalıştı. Peki bir şey sorayım. "query" nin değişkenini "foreach" içinde kullanıp veriyi yazdırmayı anladım, biliyorum ama "$aramasay" değişkenine "query" nin değişkenini veritabanında veri olup olmadığını kontrol etmek için aktarmış olmama rağmen, neden "foreach" içinde sorgu değişkenini yazdırdık? Yani aktarım yapmamış mı oluyoruz bu durumda?