Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
09, 2008, 03:01:24 am
42744 Mesaj 8090 Konu Gönderen: 17931 Üye
Son üye: medist
Turk-Php.Com Forum  |  Yardım Forumları  |  Veritabanı Yardım Forumu  |  3 tablodan aynı 2 veri « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: 3 tablodan aynı 2 veri  (Okunma Sayısı 877 defa)
enginna
PHP Memuru
***
Offline Offline

Mesaj Sayısı: 836



Üyelik Bilgileri
3 tablodan aynı 2 veri
« : 25, 2007, 09:31:36 pm »

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ı Smiley 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?   Cheesy
php_class
PHP Stajyeri
**
Offline Offline

Mesaj Sayısı: 221



Üyelik Bilgileri
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #1 : 02, 2007, 09:05:07 pm »

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


E-Posta
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #2 : 03, 2007, 04:15:00 am »

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 Memuru
***
Offline Offline

Mesaj Sayısı: 836



Üyelik Bilgileri
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #3 : 05, 2007, 06:59:00 pm »

php_class teşekkürler fakat ben olayı tek sorguda çözmede çalışıyorum Smiley 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?   Cheesy
samety
Ziyaretçi


E-Posta
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #4 : 06, 2007, 02:44:42 am »

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
PHP Memuru
***
Offline Offline

Mesaj Sayısı: 836



Üyelik Bilgileri
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #5 : 06, 2007, 05:23:56 pm »

Samety çok sağol. bende as ve alt sorgu ile çözdüm olayı. bu alt sorguları da çok sevdim açıkçası Smiley, 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?   Cheesy
samety
Ziyaretçi


E-Posta
Ynt: 3 tablodan aynı 2 veri
« Yanıtla #6 : 07, 2007, 02:05:43 am »

Samety çok sağol. bende as ve alt sorgu ile çözdüm olayı. bu alt sorguları da çok sevdim açıkçası Smiley, tekrardan çok teşekkürler.
ne yani o kadar yazıyı boşuna mı yazdım şimdi Tongue
neyse işin olduysa sevindim klay gelsin Smiley
Logged
Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.