Farklı tablolarda arama hatası
Aşağıdaki kodu kullanarak iki ayrı tabloda arama yapmaya çalışıyorum tabloların sutunları tamamen aynı ancak
https://i.hizliresim.com/CAAN6B.png
linkteki hatayı veriyor. Doğrusu nedir nerede hata yapmışım? Yardım edenlere çok teşekkürler.
<?php
$sql = $connect->query("SELECT * FROM oyunlar INNER JOIN programlar ON oyunlar.id = programlar.id WHERE baslik and aciklama and etiket LIKE '%".$word."%' LIMIT 7");
if ($sql->num_rows) {
echo '<br>';
echo '<a id="sn">Şuan da "'.$word.'" ile ilgili sitemizdeki bütün arama sonuçlarını görüyorsunuz.</a>';
while ($row = $sql->fetch_assoc())
?>
yazdıklarıma sadece kendini vermeni öneririm kardeşim
aradıklarında bundan pek farklı olmayacak.
3 4 tane tabloyu birbine bağlicaksan inner join kullanıp ve tablolarındaki sütünlar aynı isimlere sahiple
sql sorgusunda bunaların adlarını değiştirip sorun çıkmamasını sağlayabailirsin
ben yine sana yazim bir örnek inner join ile
$veri = $db->prepare("
SELECT
yazar.id as YazarID,
yazar.adi as YazarAdi,
konu.id as KonuID,
konu.adi as KonuAdi
FROM
yazar
INNER JOIN
konu
ON
yazar.id = konu.id
WHERE
yazar.adi LIKE (:yazaradi) OR
konu.adi LIKE (:konuadi)
ORDER BY yazar.id DESC LIMIT 5");
$veri->execute([
":yazaradi" => "%".$word."%",
":konuadi" => "%".$word."%"
]);
ne yaptık yazar ve konu tablolarını bir tabloymuş gibi sıraladık
ve aradığın kelime " ahmet " ise yazar tablosundaki adi sütünan bakar bulamaz ise konu tablosundaki adi sutununa bakar
bulursa yazdırırkenden
foreach($veri as $row){
if($row["YazarAdi"] == ""){ // yazar adı boş ise konuadini verir
echo $row["KonuAdi"]
}else{
echo $row["YazarAdi"] // yazadı adı boş değilse yazar adını verir
}
}
//bide seninkinden yola çıkalım
$sql = $connect->query("
SELECT * FROM
oyunlar
INNER JOIN
programlar
ON
oyunlar.id = programlar.id
WHERE
programlar.baslik LIKE '%".$word."%' or
programlar.aciklama LIKE '%".$word."%' or
programlar.etiket LIKE '%".$word."%' LIMIT 7");
//sanırım böyle yapsan olur alel acele bu kadar :)
bundan sonrasınıda kendine göre uyarlarsın artık herhalde :)
başkalarının yaptıklarını oku tabiki ama her zaman kendin tekrar ve tekrar yaz
yoksa sadece copy paste yaparsın ve hiç bir şey öğrenemezsin
kendi yazarak yaparsan keyif alarak yaparsın öğrendikçede hevesin artar.