lostyazilim
tr.link

INNER JOIN ile 3 Tablodan Nasıl Veri Çekebilirim?

7 Mesajlar 892 Okunma
acebozum
tr.link

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
$bagla= $db->prepare("SELECT * FROM user INNER JOIN notification ON notification.pid = user.id WHERE notification pid=?");
$bagla -> execute(array($id));
$notifet = $bagla ->fetchAll(PDO::FETCH_ASSOC);

inner join kullanarak bildirimler alanına gönderdiğim bildirimi alıp ordaki id adına göre kullanıcı bilgilerini ve yazının adını almayı istiyorum.

şöyle tablo yapılarını göstereyim.

bildirimler tablosu:
id (ai)
bildirim_alan
begenen
-------------------------
kullanıcılar tablosu:
id (ai)
ad
soyad
-------------------------
yazılar tablosu
id (ai)
yazanid
yaziadi


Bu şekilde bildirimler tablosundaki bildirimlere göre;
Örnek olarak:

Ayşe Fatma, "Örnek yazılarım" yazını beğendi.

nasıl yapabilirim?
 

 

elektronikssl
webimgo

balporsugu balporsugu WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad E** E**
  • Mesajlar 509
  • Beğeniler 85 / 84
  • Ticaret 3, (%67)
primary key ve foreign keylerin neler?bire çok bağlantı yapmış gibi gözüküyorsun bildirimler tablosundaki foreign keyin nedir?
 

 

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)

balporsugu adlı üyeden alıntı

primary key ve foreign keylerin neler?bire çok bağlantı yapmış gibi gözüküyorsun bildirimler tablosundaki foreign keyin nedir?


Onları şimdi sizden duydum, tablolar arasında bağlantı kurmak için mi gerekli?
Neye göre primary ve foreign demeliyim?
 

 

balporsugu balporsugu WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad E** E**
  • Mesajlar 509
  • Beğeniler 85 / 84
  • Ticaret 3, (%67)
database demek bu bağlantılar demek.yoksa bir text dosyasında veya bir excel de de bilgileri saklıyabilirsin.databasede 3 tip tablo bağlantı olayı vardır.1-1,1-m,m-m ilişkileri vardır.ben burda direk anlatmıyım sen biraz araştır daha iyi anlatımlar bulursun.senin olayında kullanıcıların yazıları var.1-m ilişkisiolucak bu iki tablo arasında.sadece yapman gereken yazilar tablosuna yazarId yi foreign key olarak tanımlıcaksın ve kayıt ederken 2 tabloyada keyleri yazıcaksın.oracle mı mssql mi kullanıyorsun ona göre döküman bakıyım
bu alttaki iki siteye bir göz at.database giriş çok basittir.ama gelişmişi baya kapsamlıdır.
Ek Olarak: http://www.zskblog.com/detay.aspx?id=21
http://social.technet.microsoft.com/wiki/contents/articles/22369.sql-server-tablo-olusturmak-ve-foreign-key-kavram-tr-tr.aspx
 

 

wmaraci
wmaraci

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)

balporsugu adlı üyeden alıntı

database demek bu bağlantılar demek.yoksa bir text dosyasında veya bir excel de de bilgileri saklıyabilirsin.databasede 3 tip tablo bağlantı olayı vardır.1-1,1-m,m-m ilişkileri vardır.ben burda direk anlatmıyım sen biraz araştır daha iyi anlatımlar bulursun.senin olayında kullanıcıların yazıları var.1-m ilişkisiolucak bu iki tablo arasında.sadece yapman gereken yazilar tablosuna yazarId yi foreign key olarak tanımlıcaksın ve kayıt ederken 2 tabloyada keyleri yazıcaksın.oracle mı mssql mi kullanıyorsun ona göre döküman bakıyım

Ek Olarak: http://www.zskblog.com/detay.aspx?id=21


mysql kullanıyorum. Şöyle söyleyeyim;
beğen butonuna tıklayınca hem likes tablosuna hem de notification tablosuna yazdırıyorum. Bilgileri notification'dan çekeceğim. Foreign key'i hangisine ekleyeceğim onu anlayamadım? 3 tablo var
 

 

balporsugu balporsugu WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad E** E**
  • Mesajlar 509
  • Beğeniler 85 / 84
  • Ticaret 3, (%67)
şöyle anlatıyım likes tablosu ile kullanıcı arasındaki ilişkiden başlayalım bir kullanıcının birden fazla like ı olucak.yani likes tablosunda likeId adında bir primary keyin olucak.users tablondada UserId diye bir primary keyin olucak.Like Tablonda buna ek olarak UUserId diye bir satırın olucak bu satır userId yi tutucak.Adam like atınca Like tablonda like adam kullanıcının UserIdsini yazıcaksın.Aynı olay notification tablon içinde geçerli.Diagram çiziyormusun?ben sana örnek bir tablo oluşturup atıyorum resmini bu mssql bu diagramı bu şekilde kayıt edince tablolar direk oluşuyor.

Ek Olarak: Database açılmadı lokal hostumda sorun varda resim için kusura bakma çok başarılı değilim :D
burda önemli olan sen like ları tutarken başka bir tablon daha olması lazım like ı neye verdiğine dair eğer sosyal ağ dbsi oluşturucaksan çok yanlış yerlerdesin
http://hizliresim.com/7vJ09r
http://hizliresim.com/0DXObW
 

 

halil2233 halil2233 [PHP-RESPONSİVE-TASARIM] Kullanıcı
  • Üyelik 10.03.2014
  • Yaş/Cinsiyet 36 / E
  • Meslek Web Master
  • Konum İstanbul Anadolu
  • Ad Soyad H** K**
  • Mesajlar 114
  • Beğeniler 7 / 15
  • Ticaret 8, (%100)
many to many mantıgını internetten araştırın isteğiniz anladığım kadarı ile bu mantıga cıkıyor
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al