lostyazilim
tr.link

PHP 2 tablo birleştirme

13 Mesajlar 3.341 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)
begeniler tablosundaki kullanici alanindaki kullanıcıları uyeler tablosundan çekip göstermek istiyorum. Bir türlü olmadı. Bir örnek gönderecek varmı?
 

 

wmaraci
reklam

werfection werfection WM Aracı Kullanıcı
  • Üyelik 01.12.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek Web Master
  • Konum Bursa
  • Ad Soyad A** A**
  • Mesajlar 374
  • Beğeniler 69 / 83
  • Ticaret 18, (%100)
Mysql join kullanımı diye araştırabilirsin. Araştırdın mı bilmiyorum fakat birçok örnek var. İncelersen rahatlıkla yapacağına inanıyorum.
 

 

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)

werfection adlı üyeden alıntı

Mysql join kullanımı diye araştırabilirsin. Araştırdın mı bilmiyorum fakat birçok örnek var. İncelersen rahatlıkla yapacağına inanıyorum.


$bagla= $db->prepare("SELECT * FROM user INNER JOIN notification ON notification.pid = user.id WHERE notification pid=? ORDER ASC");

Bu şekilde yaptım ancak gerisi olmadı
 

 

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Tam olarak neye ihtiyacınız var ?

Beğeniyi yapan kullanıcının adı soyadını, beğeniyle birlikte mi çekmek istiyorsunuz ?

Select * From Notification
Inner Join User on Notification.UserId=UserId
Where Notification.Id=NotificationIdDeğeri

Yukarıdaki sorgu, NotificationIdDeğeri ne set ettiğiniz bilgiye ait olan Notification ve User değerlerini verir.
 

 

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)

ŞizofrenikDev adlı üyeden alıntı

Tam olarak neye ihtiyacınız var ?

Beğeniyi yapan kullanıcının adı soyadını, beğeniyle birlikte mi çekmek istiyorsunuz ?

Select * From Notification
Inner Join User on Notification.UserId=UserId
Where Notification.Id=NotificationIdDeğeri

Yukarıdaki sorgu, NotificationIdDeğeri ne set ettiğiniz bilgiye ait olan Notification ve User değerlerini verir.


Pardon 3 tablo birleştirmem gerekiyor.
Bildirim gösterirken notification tablosundaki pid yani begenen kişiyi user tablosundan bulup çekecek yine notificationdaki postid kısmındaki yazıyı post tablosundan çekerek gösterecek.
Veritabanı yapısı şu şekilde;




Yardımcı olursanız çok sevinirim.
 

 

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Select User.Id,User.Name,User.Surname,Post.Title,Post.Content From Notification
Inner Join User On User.Id=Notification.PID
Inner Join Post On Post.Id=Notification.PostId
Where Notification.Id=@Id
emreorhan

kişi bu mesajı beğendi.

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)

ŞizofrenikDev adlı üyeden alıntı

Select User.Id,User.Name,User.Surname,Post.Title,Post.Content From Notification
Inner Join User On User.Id=Notification.PID
Inner Join Post On Post.Id=Notification.PostId
Where Notification.Id=@Id




$sth= $db->prepare("Select users.id,users.name,users.surname,post.title,post.content From notification Inner Join users On users.id=notification.pid Inner Join post On post.id=notification.postid Where notification.id=@id");

$result = $sth ->fetchAll(PDO::FETCH_ASSOC);
print_r($result);

Bu şekilde düzenledim array içi boş gösterdi. Bu son kısımda yazdığınız @id olan kısım execute içerisinde yazılan kısım dimi?
 

 

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
@id kısmı hangi notification için veri çekmek istiyorsan onun Id değerini yazacağın parametre,
hepsini çekmek istiyorsan, kriter belirtmene gerek yok. Where notification.id=@id kısmını silebilirsin

Where notification.id=5 dersen, 5 numaralı notificationa ait olan bilgiler gelir.
 

 

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)
Array içi boş dönüyor. Ama pid=1 kullanıcısının kendini beğendiği var notificationda
 

 

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Değer olarak notificationId vermen lazım
 

 

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