Kullanıcılar isimli tablomda dört alan olduğunu varsayalım.
Yukarıdaki tabloda mehmet isimli kaydın referansının ID'si 1 yani onu siteye admin davet etmiş.
mehmet isimli kullanıcının bilgilerini SELECT metoduyla çekmek istiyorum.
$id = 2; $sorgu = $pdo->prepare('SELECT * FROM kullanicilar WHERE id = :id'); $sorgu->bindparam(':id',$id,PDO::PARAM_INT); $sorgu->execute(); // Sorgumuzu çalıştırıyoruz
Verileri başarıyla alabiliyorum bu şekilde.
Fakat malumunuz referansid'sini alabiliyorum ve onu gösterebiliyorum ekranda. (Yani 1)
Mehmet'i sorguladığım zaman referansının id'si yardımıyla, referansının adını nasıl çekebilirim?
Konuda uzman arkadaşlar, yardımcı olabilirlerse sevinirim.
Çözümü buldum arkadaşlar, paylaşmak istiyorum.
$sorgu = $pdo->prepare('SELECT ana.*, yavru.kullaniciAdi AS davetEden FROM kullanicilar AS ana JOIN kullanicilar AS yavru ON yavru.id = ana.referansId WHERE ana.id = :id');
Bu kod ne yapıyor anlatayım.
İstemiş olduğumuz kullanıcının kaydını arıyor ve buluyor. Onu siteye davet eden kişinin id'sini bulup, o referansın kaydını buluyor ve adını öğreniyor.
c# için:
string isim= "Mehmet"; // ismi arattık/girdik string x=" select refeansid from bilgiler where kullaniciadi='"+isim+"' ";//isim in referans id sini aldık(oluşturan kişi id) string y="Select kullanicidi from bilgiler Where id='"+x+"' ";//referans id sinin kimin idsi olduğunu bulduk. Console.Writeline(y);
string isim i istediğiniz yerden çekebilirsiniz textbox olur drop box olur combobox olur.Y yi de istediğiniz şekilde yansıtabilirsiniz.Kabaca mantığını yazdım tabiki data adapter filan gerekiyorsa kullanılmalı.