mysql çift tablo tek satır
Merhabalar. php ve mysql kullanarak hizmetler ve ürünler tablosundan veri çekiyorum
arama yaptırken örnek veriyorum adam kaan yazdığı zaman hem ürünler hemde hizmetler tablosundan verinin gelmesi gerekiyor bunu nasıl yapabiliriz. multiple search keywordü ile arama yaptırdım fakat ulaştığım sonuc inner join ile id eşkeştirme oldu o benim işime yaramaz
hizmetler tablosundaki service_title ve ürünler sayfasındaki item_title yi kullanıcı kaan yazdığı zaman cekip ayrı ayı göstermem gerekişyor
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
Kullanıcı "kaan" yazdığı zaman hangi ürünleri veya hizmetleri göstereceksiniz? "kaan" burada bir ürün/hizmet sağlayıcısı mı?
Varsayımsal olarak cevap vereceğim. Diyelim ki:
Kullanıcı geldi ve "kaan" adlı ürün/hizmet sağlayıcısının tüm ürünlerini/hizmetlerini görmek istedi ve arama kutusuna "kaan" yazdı.
MySQL'deki products tablonuz:
id
item_title
item_supplier
item_price
MySQL'deki services tablonuz:
id
service_title
service_supplier
service_price
SELECT
products.id ad item_id, products.item_title, products.item_supplier, products.item_price,
services.id as service_id, services.service_title, services.service_supplier, services.service_price
FROM
products
INNER JOIN
services ON products.item_supplier = services.service_supplier
WHERE
products.item_supplier LIKE '%kaan%'
Bu sorguda products tablosuyla services tablosunu products.item_supplier = services.service_supplier
koşulunu sağlayacak şekilde birleştirdik sağlayıcı ifadesinin içinde "kaan" ifadesinin geçmesi gerektiğini söyledik.
tabloları birleştirmeden verileri çekeceksen
$search=$_GET["search"]
değişkenini iki ayrı tablo için iki ayrı sorguda kullan
$hizmetler=db->verigetir(... LIKE '%".$search."%' ...)
$urunler=db->verigetir(... LIKE '%".$search."%' ....)
echo $hizmetler["service_title"];
echo $urunler["product_title"];
@kartal kardeşim tablo yapısı önemli degil ki
tablo
product_id,
product_titletablo
service_id,
service_title