Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Projektowanie bazy pod MLM
Forum PHP.pl > Forum > Bazy danych
KasperKRK
Witam serdecznie ;)

Może ktoś z Was kiedyś budował baze pod prosty MLM. Postaram sie przybliżyć zasade działania systemu poleconych który będę budował.


Etap 1.
Rejestracja użytkownika z polecenia (link referencyjny) lub bez takiego polecenia.

Etap 2.
Użytkownik zarejestrowany, wysyła innym link referencyjny do sklepu internetowego.

Etap 3.
Użytkownikowi przydzielany jest rabat w sklepie internetowym, w zależności od dokonanego zamówienia osoby pod nim. 5% od osoby w pierwszym poziomie poleconych, 3% od drugiej osoby, 1% od trzeciej osoby.

Jakieś porady jak najlepiej rozwiązać taki system? I najlepiej tak żeby ta baza działała w miare wydajnie?
Z góry dzięki za odpowiedź ;)
daniel1302
To jest mały system. Ja bym to rozwiązał tak

users:- Zarejestrowani użytkownicy
id|login|email|pass(varchar32[md5 lub inny])|referer(ID polecającego)|doscount(tinyint(1)|registred(int-unsigned)|

activation: - Użytkownicy do aktywacji
id|login|email|pass|referer|registred|code(najlepiej md5)

id to numery ID użytkowników
w kolumnie referer- trzymasz ID polecającego
registred- Wartość time() wrzucasz do tego pola podczas rejestracji i później łatwo odczytujesz datę- date(xxx, $sth['registred']);
discount- jakaś dodatkowa zniżka we całkowica zniżka

Teraz rejestracja na 2 sposoby:
1) Podczas rejestracji wrzucasz dane do activation i później przy aktywacji je przenosisz.
2) Nie robisz tabeli activation tylko generujesz md5 np na podstawie hasła loginu, daty rejestracji czy emaila(jakoś musisz rozwiązać aby później ponownie wygenerować przy aktywowaniu konta taki sam z tych samych danych). I dodajesz w tabeli users pole actived(bit-default 0);

Teraz same zniżki na 2 sposoby:
1) Przy rejestracji wykonujesz takie zapytanie
Kod
SELECT count(id) FROM USERS WHERE referer=ID_mojego_polecającego

i sprawdzasz if'em, bądz switchem
switch ($xx['id'])
{
default: $discount=0; break;
case 1: $discount=5; break;
case 2: $discount=3; break;
case 3: $discount=1; break;
}
i dodajesz "ID_mojego_polecającego" wartość tej zniżki;


2) Albo taki if/switch wstawiaszprzy cenach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.