Ref-Link-System



  • hallo.
    ich wollte mal wissen wie sowas funktioniert.
    z.b
    Herr Müller meldet sich auf www.wuseldusel.bla an und ist der 178 regestrierte.
    und bekommt diesen link www.wuseldusel.bla?ref=178 damit kann er leute werben.
    nun meldet sich herr lala über www.wuseldusel.bla?ref=178 an. müller bekommt jetzt z.B 10punkte.
    das eigentliche problem was ich da hab ist. wie die tabellen ausehen müssen oder wie man das abspeichert.
    Vielen Dank MFG



  • Wo ist dein Problem? Du führst einfach für jede Ref-ID einen Zähler, und diesen erhöhst du dann einfach entsprechend. Wie du das ganze Speichern willst, bleibt dir überlassen (und hängt natürlich auch von der Anzahl, der zu speichernden Zähler ab) - Datei oder Datenbank eben 😉



  • hallo. habe im internet eine funktion
    gefunden die mir anzeigt wieviel leute unter einem stehen.
    funktioniert auch ganz gut.
    nun will ich aber das es anzeigt wer unter einem steht.
    habe folgende tabelle:
    id, geworbenvon, nick
    das ist der code:

    <?php 
    include_once('database.php'); 
    
    function countReferals($stufen, $user_id) { 
    
    $query = "SELECT `id` FROM `user` WHERE `geworbenvon` = '$user_id'"; 
    
    $result = mysql_query($query); 
    
    $igesamt = 0; 
    if($stufen >= 1) { 
    $stufen--; 
    while($user = mysql_fetch_array($result)) { 
    $igesamt++; 
    $igesamt += countReferals($stufen, $user['id']); 
    } 
    } else { 
    $igesamt = mysql_num_rows($result); 
    } 
    return $igesamt; 
    } 
    
    $stufen = 3; 
    $anzahl = countReferals($stufen, 1); 
    echo "$anzahl Mitglieder befinden sich unter dir in einem System mit $stufen Stufen"; 
    
    ?>
    

    Vielen Dank.
    MFG Marcus



  • Wenn ich dich jetzt richtig verstanden habe: 😉

    SELECT `nick` FROM `user` WHERE `geworbenvon` = '$user_id'
    


  • so einfach war das? wo war ich nur mit meinen gedanken 😉
    ich wollte es jetzt noch so machen:
    das sowas angezeigt wird:
    EBENE1 person1 person2
    EBENE2 person5
    EBENE3 person9
    das steht in meiner DB

    [b]id[/b]     [b]geworbenvon[/b]     [b]nick[/b]      [b]nname[/b]     [b]vname[/b]     [b]email[/b]              [b]passwort[/b]     [b]design[/b]
    1      0               marcus    T++++r    Marcus    marcus@marcus.de   moritz       blue
    2      0               kristin   T++++r    Kristin   kristin@kristin.de kristin      green
    3      0               vater     T++++r    A++++s    vater@vater.de     vapwd        blue
    4      0               mutter    T++++r    Ke+++n    mut@mut.de         mupwd        green
    5      2               oma       L++se     B+++++te  oma@oma.de         oma          red
    6      5               omasermut naja      Jutta     jutta@jutta.de     jutta        green
    7      2               utte      dada      ute       ute@ute.de         ute          yellow
    8      3               steffen   T++++er   Steffen   steffen@steffen.de steffen      blue
    9      3               lotar     DADA      Lotar     lotar@loatr.de     lotar        yellow
    10     3               test      test      test      test@tzest.tesz    test         red
    

    wenn ich mich nun unter kristin einlogge wird folgendes angezeigt:
    *
    EBENE 1 ->oma
    EBENE 2 ->omasermut
    *
    es müsste aber so sein:
    *
    EBENE 1 ->oma ute
    EBENE 2 ->omasermut
    *
    das ist der php-code

    $sql = "SELECT nick FROM user WHERE geworbenvon = '".$_SESSION['user_id']."'";
    $result = mysql_query($sql) OR die(mysql_error());
    
    if(mysql_num_rows($result)) {
    while($row = mysql_fetch_assoc($result))
    {
    	echo "<b>EBENE 1</b>\n";
    	echo "->".$row['nick']."<br>";
    	$sql = "SELECT id FROM user WHERE nick = '".$row['nick']."'";
    	$result = mysql_query($sql) OR die(mysql_error());
    	while($row2 = mysql_fetch_assoc($result))
    	{
    		$sql = "SELECT nick FROM user WHERE geworbenvon = '".$row2['id']."'";
    		$result = mysql_query($sql) OR die(mysql_error());
    		while($row3 = mysql_fetch_assoc($result))
    		{
    			echo "<b>EBENE 2</b>\n";
    			echo "->".$row3['nick']."<br>";
    		}
    	}
    }
    } else {
    echo"<p>keene leute unter dir</p>\n";
    }
    

    ich weis einfach nicht wie.
    😞
    TAUSEND DANK
    MFG Marcus



  • Dein Hauptproblem liegt wohl darin, dass du in deiner inneren Schleife das Result-Set ($result) überschreibst.
    Außerdem: Schon in Ebene 2 musst du ja ggf. geworbenvon schon auf mehrere ids hin überprüfen 😉


Anmelden zum Antworten