a推廣出的a-1,a-2繼續推廣,得到a-1-1,a-1-2等等
數據庫設計思路如下:
用戶表中有一個son這么一個字段,這個字段中存放名下所有會員的id,用分號隔開。
這個字段的維護:
比如a-1-1推廣出了一個a-1-1-1,此新用戶的id是12345,那么給a-1-1 a-1 a這個三個用戶son字段內均添加12345這個id,刪除一個用戶做法一樣。
有了這張表就能實現你要的效果。
查一個會員名下所有的會員,只需要讀取該會員的son字段即可
查一個會員的上級 怎在數據庫中所搜son字段,含有此會員id的都是他的上級會員。
當然,還有一個字段是標記此會員的直接上級會員,這樣 一張表就能從任意會員得到整個會員推廣樹。
字段 id pid name son ...后面省略
id | pid | name | son |
1 | 0 | a | 2,3,4,5,6,7,8,9 |
2 | 1 | a-1 | 4,5,6,7,8,9 |
3 | 1 | a-2 | 0 |
4 | 2 | a-1-1 | 6,7,8,9, |
5 | 2 | a-1-2 | 0 |
6 | 4 | a-1-1-1 | 8,9 |
7 | 4 | a-1-1-2 | 0 |
8 | 6 | a-1-1-1-1 | 9 |
9 | 8 | a-1-1-1-1-1 | 0 |
這個是測試數據
要獲取id為7的所有上級,只需在son中找7即可,1 2 4 均是7的上級 4是7的直接上級
要獲取id為4的所有下級,直接讀取son即可,6 7 8 9 為4的下級
son里面的id號 怎么添加上去?
以9為例,添加9這個用戶時肯定是知道他的直接上級是8,因為就是通過8推廣得到9的,然后根據8取到8的所有上級,將9添加到8的所有上級的son字段中,包括8也要添加。
---恢復內容結束---