PHP Downline-System in PHP berechnen?

440ci

Well-known member
12 Januar 2014
129
0
Moin
Ich stehe gerade vor einem Brainstorm, aber einem gigantischen

Ich bin gerade dabei, ein Downline/Referal-System zu bauen, welches nur 1 SQL-Query benötigt, ganz egal wie viele Referal-Ebenen es gibt. Mit nur 1 SQL-Query habe ich ja alle Datensätze, die ich brauche, der Rest sollte mit PHP gemacht werden.

Solche System gibt es zwar wie Sand am Meer, diese sind aber mehr als nur laienhaft Entwickelt und verursachen bei (zb. 10 Ebenen) eine nicht zu unterschätzende Last am Server (teilweise bis zum Timeout und kompletter Seiten-Stillstand).

Es sollten am Anfang nur Daten aus der Datenbank geholt, die größer als die eigene User-ID sind, aber beim Kauf eines Referals mit kleinerer ID würde das ganze System nicht mehr funktionieren, deshalb wird leider alles ausgelesen.
Und das Feld "uid_ref" ist Unique,- User 12 kann ja nicht von 2 verschiedenen anderen Usern geworben werden

Meine Datenbank sieht so aus:

uid => user-id des Users (In diesem Fall 3)
uid_ref => user-id des Users, welcher geworben wurde
Code:
INSERT INTO `downline` (`uid`, `uid_ref`) VALUES
(3, 4),
(3, 5),
(4, 7),
(4, 8),
(6, 9),
(8, 10);

User 3 hat also User 4,5 geworben, User 4 hat 7,8 geworben und User 8 hat 10 geworben, macht zusammen 3 Referal-Ebenen (2 in der 1. Ebene, 2 in der 2. Ebene und 1 in der 3. Ebene),- eingestellt sind 4 Ebenen, die 4. Ebene ist also beim User 3 leer.

Weiß jemand, ob so etwas überhaupt geht? Ich habe Ebene 1 und 2 sauber als HTML-Ausgabe, aber Ebene 3 und 4 spinnen.

Wäre da Nested Trees mit MySQL Sinnvoller als es im PHP zu machen?
 
Wer hätte es gedacht, das mir jemand die Arbeit abnimmt :D

Ok, wenn man den ersten Teil vom 1. Beitrag liest (Verlinktes Thema oben), winkt man schon ab, weil dort Crapcode steht, aber der richtige Code ist ja darunter :D

Und der läuft zumindest in der Entwicklungsumgebung gut :)