ozanalkancomtr adlı üyeden alıntı: mesajı görüntüle
Bu konu biraz kafa karıştırıcıdır. Ben elimden geldiğince anlatmaya ve sorununuza çözüm bulmaya çalışacağım.

Öncelikle tablo yapınızı bilmiyorum ama sorgunuzdan ve genel düzeninize baktığımda hatalı olduğunu anlıyorum. Aşağıdaki gibi örneği kendinize göre revize edebilirsiniz/etmelisiniz.

#tbl_users (kullanıcılar)
- id
- username
- user_email
- user_password
.
.
- user_referance_code


#tbl_referrals (referansları listelediğiniz tablo)
- id
- referrer_user_id (hangi kullanıcının ref kodu kullanıldıysa onun ID'si)
- referred_id (referans kodu ile kayıt olan yeni kullanıcının ID'si)
- amount (sanırım burada bir komisyon veriyorsunuz)
- created_at (oluşturma tarihi)


şimdi sorgunuz aşağıdaki gibi olmalı:
SELECT
    user.*,
    referral.*,
FROM tbl_users AS user
LEFT JOIN tbl_referrals AS referral
    ON user.user_id = referral.referrer_user_id
Sorgularınızı benim gibi yazarsanız okuması daha kolay olur. Burada yaptığımız şey, iki tabloda birbiriyle eşleşen sütunları kullanmak. Daha sonra fonksiyonunuzu aşağıdaki gibi düzenlemelisiniz.

public function subs_usrefcode($user_id = '')
{
     $query = "
          SELECT
               user.*,
               referral.*,
          FROM tbl_users AS user
          LEFT JOIN tbl_referrals AS referral
               ON user.user_id = referral.referrer_user_id
          WHERE user.user_id = ?
     ";
     $sth = $this->db->pdo->prepare($query);
     $sth->execute(array($user_id));
     $result = $sth->fetchAll(PDO::FETCH_ASSOC);

     return $result;
}
listeleme sayfanızı da aşağıdaki gibi düzenleyin

<tbody>
     <?php
     $user_referrals = $users->subs_usrefcode(HANGİ_KULLANICININ_REFERANSLARINI_LİSTELEYECEKSENİZ_ID'SINI_BURAYA_YAZDIRIN);
     foreach ($user_referrals as $key => $ref):
     ?>
     <tr>
          <td id="card"><?php echo $ref['dep_amnt']; ?> </td>
          <td><?php echo $ref['username']; ?> </td>
          <td><?php echo $ref['dep_date']; ?> </td>
     </tr>
     <?php endforeach; ?>
     <tr>
          <td></td>
          <td class="text-right" tot="tot">Total Earnings</td>
          <td id="total"></td>
          <td></td>
     </tr>
</tbody>
eğer sizin kodlarınızda db bağlantısı vs sorunsuz bir şekilde oluyorsa oluşturduğum kodlar ile herhangi bir kullanıcının referanslarını listeleyebileceksiniz. Tabiki tüm bunlar örnek olarak yapıldı. Siz kendinize göre gerekli sütunları ekleyip, silebilirsiniz.


Eğer öğrenmek istiyorsanız;
Yukarıda anlattıklarım sorununuzu çözecektir ama işin doğrusu değildir ve kesinlikle bu şekilde uygulanmamalıdır. Mysql'de hiyerarşik veri saklamak için bir çok model var. Sizin yapmak istediğinizin adı "The Nested Set Model (İç içe Küme Modeli)"dir. Daha spesifik arama yapmak isterseniz "Multi Level Nested Referral System" anahtar kelimesini kullanabilirsiniz. Bu modellerle ilgili github'ta, youtube'da bir çok örnek/kütüphane/anlatım bulabilirsiniz ya da aşağıya ekleyeceğim bağlantıları kontrol edebilirsiniz. Kolaylıklar.

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
https://www.w3schools.com/mysql/mysql_join.asp
Merhaba Ozan Bey.
Öncelikle emek verip açıkladığınız için çok teşekkür ederim. Sanırım gece sersemliği olacak ben tam olarak anlatamadım. Aşağıda veritabanı tablolarımı görebilirsiniz.

tbl_users tablosu: Giriş yapan kullanıcının refererans olarak başkalarına vereceği referans kodu (üye olurken oluşturuluyor) "user_refcode" sütununda saklanıyor. Eğer bu üye başkasının referans kodu ile üye olduysa o kod "subs_references" sütununda saklanıyor. Bu kodda referansı olduğu kullanıcının "user_refcode" üye olurken oluşturulan referans kodu oluyor.


Aşağıda kullanıcının detayını görebilirsiniz. (mobil tamamen hayal ürünüdür bana ya da birisine ait değil.)



Aşağıda da depo bilgilerinin yer aldığı ve kullanıcıların bura ait verileri bu tabloya sürekli işleyebildiği bir bölüm ve her kullanıcı kendi ref kodu ile "dep" tablosunun "dep_refcode" sütunu ile eşleşerek verileri girebiliyor. yani ben hangi kullanıcı ne kadar veri girmiş bunu rahatlıkla listeleyebiliyorum


Aşağıda kodun çıktısını göreceksiniz. Giriş yapmış kullanıcının 4 adet alt kullanıcısı var (Ayşe, Şeyda, dedene, fatma"demo oldukları için rastgele yaptım") ve bunlar "dep" tablosuna veri yazdırmışlar. ben elimdeki kodlar ile bu 4 kullanıcının kullanıcı adlarını, referans kodlarını ve diğer bilgilerini alabiliyorum. Ama dep tablosuna girdikleri veriyi alamıyorum. ekran görüntüsünde de göreceğiniz üzere, dep tablosunda yer alan her bilgi için kullanıcılar sürekli tekrarlanıyor. Aslında o kullanıcıların "user_refcode" sütunları ile "dep" tablosuna veri girerken oluşturulan "dep_refcode" sütunları aynı ama ben bunları bir türlü eşleştiremedim


Umarım bu şekilde daha açıklayıcı olmuştur. Şayet zahmet olmazsa bu bilgiler üzerinden yardımcı olabilir misiniz rica etsem. biliyorum size tekrardan zahmet vereceğim ama bu işi öğrenmeye çalışıyorum henüz ve bunu yapmam gerekiyor