Moin,
ich habe mir mal überlegt wie ich am besten die Anzahl der User ermitteln kann welche von einem anderen User bzw Mitglied meiner Seite geworbenen wurden, da ganze erstmal auf 2 Ebenen ...
Das ganze sollte normal über eine Datenbank laufen, ich hab zu Testzwecken aber erstmal nen schönes Array genommen ...
Nachfolgend meine Idee für die Funktion die, die Referrals wahlweise der Ebene 1 oder 2 berechnet.
Alles anzeigen
Das ganze wird dann halt wie folgt ausgegeben ...
Alles anzeigen
Die Ausgabe sieht so aus:
imagefire.net/image/84449c30d674.jpg
Es geht jetzt auch nur drum ob das so am besten umgesetzt ist, sprich von der Last die durch dieses tolle Script erzeugt wird oder ob es überhaupt eine bessere Möglichkeit gibt. Und wie ist das wenn ich jetzt noch mit den Ebenen weiter gehen möchte sagen wir Ebene 3, 4 oder sogar bis Ebene 5 ...
Vielen Dank schonmal
ich habe mir mal überlegt wie ich am besten die Anzahl der User ermitteln kann welche von einem anderen User bzw Mitglied meiner Seite geworbenen wurden, da ganze erstmal auf 2 Ebenen ...
Das ganze sollte normal über eine Datenbank laufen, ich hab zu Testzwecken aber erstmal nen schönes Array genommen ...
Nachfolgend meine Idee für die Funktion die, die Referrals wahlweise der Ebene 1 oder 2 berechnet.
Quellcode
- # Funktion zum berechnen der Referrals eines Users
- function getReferrals( $level, $userid, $level_ids = '' ){
- global $users;
- # Ebene 1
- if( $level == '1' ){
- $userid = (int) $userid;
- # Referrals Ebene 1 ermitteln
- foreach( $users AS $user ){
- if( $user[2] == $userid ){
- $referrals++;
- $ids[] = $user[0];
- }
- }
- return array( $referrals, $ids );
- }
- # Ebene 2
- if( $level == '2' ){
- $userid = (int) $userid;
- # Referrals Ebene 1 ermitteln
- foreach( $users AS $user ){
- if( count( $level_ids ) > 0 ){
- foreach( $level_ids AS $level_id ){
- if( $user[2] == $level_id ){
- $referrals++;
- }
- }
- }
- }
- return $referrals;
- }
- }
Das ganze wird dann halt wie folgt ausgegeben ...
Quellcode
- <table width="75%" border="0" style="font-size:11px; font-family:Verdana, Arial, Helvetica, sans-serif;">
- <tr>
- <td width="10%"> <b>User ID</b></td>
- <td width="60%"> <b>Username</b></td>
- <td width="15%"> <b>Referrals Ebene 1</b></td>
- <td width="15%"> <b>Referrals Ebene 2</b></td>
- </tr>
- <?php
- foreach( $users AS $user ){
- $referrals["level1"] = getReferrals( '1', $user[0] );
- /*
- echo "<pre>\n";
- print_r($referrals["level1"]);
- echo "</pre>\n";
- */
- $referrals["level2"] = getReferrals( '2', '', $referrals["level1"][1] );
- ?>
- <tr>
- <td width="10%"> <?php echo $user[0]; ?></td>
- <td width="60%"> <?php echo $user[1]; ?></td>
- <td width="15%"> <?php echo empty( $referrals["level1"][0] ) ? '0' : $referrals["level1"][0]; ?></td>
- <td width="15%"> <?php echo empty( $referrals["level2"] ) ? '0' : $referrals["level2"]; ?></td>
- </tr>
- <?php
- }
- ?>
- </table>
Die Ausgabe sieht so aus:
imagefire.net/image/84449c30d674.jpg
Es geht jetzt auch nur drum ob das so am besten umgesetzt ist, sprich von der Last die durch dieses tolle Script erzeugt wird oder ob es überhaupt eine bessere Möglichkeit gibt. Und wie ist das wenn ich jetzt noch mit den Ebenen weiter gehen möchte sagen wir Ebene 3, 4 oder sogar bis Ebene 5 ...
Vielen Dank schonmal
