coder16 adlı üyeden alıntı: mesajı görüntüle
dostum yardımcı olayım dedim ama sorduğun sorudan hiç bişey anlamadım, özellikle şu kısımdan
inner join kurdum ne demek ?
sutunlari hiçe sayıyor ne demek ?
Bence sen soruyu bir daha toparlayıp öyle sor ve yazmış olduğun php kodlarıyla beraber buraya ekle, sanırım böyle daha iyi yardımcı oluruz.
greyder adlı üyeden alıntı: mesajı görüntüle
ne sorduğunu anlamadım ama ilk bakışta gördüklerim şunlar

rapor tablosu (id,firma,ilkil,ilkilce,fiyat,sonrail,sonrailce)
il tablosu (id, il_adi)
ilce tablosu (id, ilce_adi)

öncelikle tablolar arasında bir bağlantı kuracaksan ortak bir bağlantı elemanına ihtiyacın var
eğer id ortak bağlantı elemanın değilse,

yani sorgunda 3 tablodanda aynı id ye ait verileri çekmeyeceksen 2. ve 3. tablonda başka ortak sütun yok burdan devam edemezsin

varsayalım ki 3 tablodan aynı id ye sahip verileri çekeceksin


SELECT a.id, a.firma, a.ilkil, a.ilkilce, a.fiyat, a.sonrail, a.sonrailce, b.id, b.il_adi, c.id, c.ilce_adi FROM rapor tablosu a, il b, ilce c WHERE a.id=b.id and a.id=c.id
bu sorgunun sonuçlarını foreach yada while ile döndürebilirsiniz
yeni where koşulları ekleyerek sorguyu daraltabilir, tek bir id yi sorgulayabilirsiniz.
anlatamadığım için kusruma bakmayın lütfen bir çok problemden ötürü kafam oldukça dolu. eve geldiğimde yazdıklarımdan ben de bir şey anlamadım. şimdi tane tane anlatma fırsatı bulmuş durumdayım.

3 adet tablom mevcut, bunlar:
rapors tablosu (id, firma, birinci_il, birinci_ilce, fiyat, ikinci_il, ikinci_ilce)
il tablosu (id, il_adi) - rapors tablosundaki birinci_il ve ikinci_il idleri buradaki id ile aynı
ilce tablosu (id, ilce_adi) rapors tablosundaki birinci_ilçe ve ikinci_ilçe idleri buradaki id ile aynı

rapor-gonder.php sayfamda rapors tablosunun tamamını dolduruyorum birinci_il birinci_ilce ve ikinci_il, ikinci_ilce ise il tablosundaki idlerine göre ekleniyor.

rapor-goster.php sayfasında ise rapors tablosundaki verileri listeletiyorum fakat birinci il ilçe ve ikinci il ilçe kısmını il ve ilçe tablosundan isimlerini yazdıramıyorum.

inner join kullanarak aşağıda bulunan kodu oluşturdum:
$sorgu=mysql_query("select rapors.*,il.il_adi,ilce.ilce_adi from rapors INNER JOIN il ON rapors.birinci_il= il.id INNER JOIN ilce ON rapors.birinci_ilce= ilce.id");
sorguyu bu şekilde yaptığımda listeleme şu şekilde oluyor

ID - A Firması - Kocaeli / Darıca - 400 TL - Kocaeli / Darıca

rapors tablosunda birinci il ve birince ilçe kocaeli darıca doğru iken ikinci_il ve ikinci_ilçe ise ankara/çankaya idlerini taşımakta.

yani ben birinci_il ve birinci_ilçe için inner join kullandım fakat ikincisi için kuramadım.

umarım anlatabilmişimdir