|
|
|
Yazan
|
Konu: 3 tablodan aynı 2 veri (Okunma Sayısı 877 defa)
|
|
enginna
|
merhaba arkadaşlar. biraz karışık bir durum. aslında veri tabanı yapısında mı hata var ondan da emin değilim. şimdi 3 tablom var. forum (forum başlık ve yazan üyenin nosu) forumid, baslik, uyeid cevap (forum başlığına verilen cevap ve cevabı veren üyenin nosu) cevapid, forumid, uyeid vs... uyeler (üyelerin bilgileri) uyeid, ad vs... şimdi ben tek sorgu ile bu 3 tabloyu birbirine bağlıyorum. fakat mesajı yazan üye ile cevabı yazan üyenin kullanıcı adı haliyle aynı geliyor. çünkü tek üye tablosu var. nasıl aşabilirim bu sorunu. kendi sorgumu yazacaktım ama buraya yazarken kafam bir hayli karıştı  bir yol gösterebilirmisiniz. teşekkürler.
|
|
|
|
|
Logged
|
bir fikrim var. internetteki siteleri kaydeden bir site yapalım. isteyen bu siteler içinde arama yapsın. sitenin domaini'de google.com olsun nasıl? 
|
|
|
|
php_class
|
aslında cevap yazdığında eğer o an bulunduğun topikte sorunsuz olarak gösteriyorsa sorun yoktur. bu durumda sen forumu açan kişinin kullanıcı adını yazdırmışsın demektir. eğer uyeid sütununa mesajı gönderen kişinin id numarasını doğru kaydediyorsan kullanıcı adını yazdırırken mysql_result kullan ve cevap tablosunda kayıtlı olan uyeid numarasını uyelerin uyeid sütununda buldurup istediğin bilgiyi çek. umarım anlatabilmişimdir.
eğer yazdıklarım karışık geldiyse veya anlamadıysan kodları gönder öyle çözelim sorunu
|
|
|
|
« Son Düzenleme: 02, 2007, 09:15:36 pm Gönderen: php_class »
|
Logged
|
I CRAZY ABOUT <? p <> h <> p ?>
|
|
|
samety
Ziyaretçi
|
select *,uye.uye_id as cevapverenid,uye1.uye_id as soranid from cevap INNER JOIN forum ON forum.forum_id = cevap.forum_id INNER JOIN uye ON uye.uye_id=cevap.cevapveren INNER JOIN uye as uye1 ON uye1.uye_id=forum.soran gibi filtreleme yapabilirsin
|
|
|
|
|
Logged
|
|
|
|
|
enginna
|
php_class teşekkürler fakat ben olayı tek sorguda çözmede çalışıyorum  samety bu sorguyu çalıştıramadım. aslında sorgunun mantığını da anlayamadım. biraz açıklasan... teşekkürler.
|
|
|
|
|
Logged
|
bir fikrim var. internetteki siteleri kaydeden bir site yapalım. isteyen bu siteler içinde arama yapsın. sitenin domaini'de google.com olsun nasıl? 
|
|
|
samety
Ziyaretçi
|
select *,uye.uye_id as cevapverenid,uye1.uye_id as soranid from cevap INNER JOIN forum ON forum.forum_id = cevap.forum_id INNER JOIN uye ON uye.uye_id=cevap.cevapveren INNER JOIN uye as uye1 ON uye1.uye_id=forum.soran
bu sorguda iki kere uye tablosunu cagırıyoruz birncisi soruya cevap veren ikincisi soruyu soran için bu sebeple sorgu sonucuna uye tablosundaki kayıtlar 2şer kere geliyor bende ne yapıyorum aynı hayali alanlar üretiyorum birincisi uye.uye_id as cevapverenid ikincisi uye1.uye_id as soranid sen kullanmak istediğin alanları buraya ekleyebilirsin mesela bu sorguda INNER JOIN uye ON uye.uye_id=cevap.cevapveren bu sql komutu cevap tablosundaki cevap veren alanına ait uyenin uye tablosundan ilgili alanları çağırır INNER JOIN uye as uye1 ON uye1.uye_id=forum.soran bu komut ta forumdaki soran alanına ait bilgye göre uye tablosundaki bilgileri çağırır bu iki sonuclar aynı alan isimli oldukları için hayali alanları üreterek kullanılabilr hale getiriyorum sen kullanmak istediğin alanları yine hayali alanlarla gösterebilirsin mesela cevap verenin adı mı lazım cevap veren hangi tabloydu INNER JOIN uye ON uye.uye_id=cevap.cevapveren burdaki uye tablosu select ,* ın olduğu yere ,uye.Adi as Cevapverenadi dersen php kodlarında $row['Cevapverenadi'] olarak kullanırsın kolay gelsin
|
|
|
|
|
Logged
|
|
|
|
|
enginna
|
Samety çok sağol. bende as ve alt sorgu ile çözdüm olayı. bu alt sorguları da çok sevdim açıkçası  , tekrardan çok teşekkürler.
|
|
|
|
|
Logged
|
bir fikrim var. internetteki siteleri kaydeden bir site yapalım. isteyen bu siteler içinde arama yapsın. sitenin domaini'de google.com olsun nasıl? 
|
|
|
samety
Ziyaretçi
|
Samety çok sağol. bende as ve alt sorgu ile çözdüm olayı. bu alt sorguları da çok sevdim açıkçası  , tekrardan çok teşekkürler. ne yani o kadar yazıyı boşuna mı yazdım şimdi  neyse işin olduysa sevindim klay gelsin 
|
|
|
|
|
Logged
|
|
|
|
|
 |
|