• 02-10-2022, 19:00:25
    #1
    Merhaba, php pdo kullanarak veritabanından veri çekiyorum. Yapmak istediğim:
    Örneğin A kişisinin takip ettiklerini getirtmek için takip tablosundan FROM takip WHERE takip eden id = a_kisisi_id yapıyorum ve takip tablosundan a kişisinin takip ettikleri hesapların idlerini getirtiyorum sonra üyeler tablosundan bu idlerin kullanıcı adlarını getirtmek istiyorum FROM uyeler WHERE id = takip_edilen_id yapıyorum ama getirmiyor tablo birleştirme falan denedim olmadı örnek bir SQL kodu atabilecek ya da nasıl olabileceğini bilen biri yardımcı olabilir mi?
  • 02-10-2022, 19:38:06
    #2
    Gelmez çünkü array data ile islem yapmaya çalışıyorsunuz.

    Foreach dongusujun icinde yeni bir sorgu calisitirin.

    Cep telefonundan yazdigim icin kod ekleyemiyorum ama mantik bu

    Foreach(takipedenler as list){
    User = sql kodu

    Echo user-> adi
    }
  • 02-10-2022, 19:55:27
    #3
    join kullanabilirsiniz;

    SELECT * FROM takip 
        LEFT JOIN uyeler ON takip.takip_edilen_id = uyeler.id
    WHERE takip_eden_id = 1
  • 02-10-2022, 21:01:57
    #4
    ghergedan adlı üyeden alıntı: mesajı görüntüle
    join kullanabilirsiniz;

    SELECT * FROM takip
        LEFT JOIN uyeler ON takip.takip_edilen_id = uyeler.id
    WHERE takip_eden_id = 1
    Denedim ama aynı isimi tekrarladı.
    Daha detaylı anlatayım;
    uyeler tablosu
    id
    Kullanici_adi
    Şifre
    Vb.
    Takip tablosu
    id
    Takip_eden_id
    Takip_edilen_id

    Burada mesela a kişisinin takipçilerini getirmek için SELECT * FROM takip WHERE takip_edilen_id = 'a_kisisi_id' AND durum = '1'
    Diyorum ve takip edenin id falan çekebiliyorum ama kullanıcıya takip edenin kullanıcı adı ya da ad soyadını göstermem lazım bu yüzden takip tablosundan FROM takip WHERE takip_edilen_id = 'a_kisisi_id' diyerek takip edenin id getiriyorum ve üyeler tablosundan bu takip edenin idsinin kullanıcı adını almaya çalışıyorum ama getirmiyor. Dediğiniz kodu denedim olmadı aynı isimi tekrarladı kodları sizinle de paylaşayım
    try {

    include "getconfig.php";
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->query("SELECT * FROM takip LEFT JOIN uyeler ON takip.takip_edilen_id = uyeler.id
    WHERE takip_eden_id = '$id_get'");

    while ($print = $sorgu->fetch(PDO::FETCH_ASSOC)) {
    echo $print['kullanici_adi'];
    }
    } catch (PDOException $e) {
    die($e->getMessage());
    }

    $baglanti = null;

    Ne yaparsam doğru şekilde getirtirim?
  • 02-10-2022, 21:08:40
    #5
    SELECT takip.*, (select kullanici_adi from uye_tablosu where id = takip.takip_eden.id) as takip_eden_kullaniciadi FROM takip WHERE takip_edilen_id = 'a_kisisi_id' AND durum = '1'