php如何實現三級分銷


Q:

項目要實現三級分銷;
對於數據庫的設計和用戶注冊后給所有上級(最多三級)返利

但是一點頭緒都沒有,請大神幫忙給個思路!

如果是直接注冊給獎勵20元
如果是通過二維碼或者鏈接進入的注冊頁面 找到上級 給上級獎勵10元
如果上級還有上級就獎勵5元
如果上級的上級還有上級就獎勵3元

對於這樣的實現以及數據表的建立真是沒有思路啊!
目前就是用的很蠢的辦法 就是用戶注冊的時候寫一個方法去查找上級 給獎勵10元 
之后再寫一個方法根據上級再去查找 之后再去查找

感覺這種辦法好蠢啊 有什么其他好點的辦法嗎?

如果用遞歸的方式 如何查詢當前會員向上三級的父級會員呢?

 

A:

create table user{
id int unsigned not null auto_increment primary key,
name varchar(64) not null,
pass varchar(64) not null,
fid int unsigned not null,
money decimal(6,2) not null
}engine=innodb charset=utf8;

做一個簡單的敘述
1,用戶注冊進來,獲得的信息,按照樓主的意思,應該能得到用戶信息以及推薦人信息(自己注冊推薦人信息為空)。
2,拿到信息之后入庫,自己注冊,fid(也就是father_id的意思)為0.如果有推薦人,則fid設置為推薦人id。此時推薦人為第一層上級。
3,已知推薦人id,可知推薦人fid,可查推薦人的上級。層層遞進。
4,利用id,fid寫一個遞歸函數,查到當fid為0的時候,停止。fid為0,也就是最頂層上級。
5,根據遞歸函數返回的信息,確認總共級數(很容易確認,返回幾組用戶信息就知道總共有幾級)
6,總共的級數確認了,寫一個按照級數分配獎金的方法,調用方法,負責發放獎金。
最后:簡單的sql和簡單的思路就是這樣,如果不太清楚如何根據遞歸查詢上級的方法,我會在評論中給樓主寫出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM