我正在建立一个附属系统,我已经与数据库的设计在一个部分。我不知道如何追踪那个招募谁的人。让我们说我们有这样的东西:
- Pit Sampras
- Sara Mat
- Gabriella white
- Antonio Santo
- Maja Grozdanova
- Agon Xheladini
这一切都是这样的:1.乔恩招募了亚历克斯,亚历克斯招募了吉姆,马科和约翰尼。2.乔恩招募了比特,比特招募了萨拉、加布里埃拉和安东尼奥。3.乔恩招募了Maja,Maja招募了Agon。Agon可以招募一些ells,而那个人可以招募到ells,这是无限深的。
有没有人知道如何解决这个问题。如何设计桌子?
发布于 2010-07-30 07:42:22
所以,亚历克斯·戴尔( Alex )与JonSmith有关系,他雇佣了他。这是一个相当标准的CRM方法。
发布于 2010-07-30 07:47:53
创建两列:
树形图可以很容易地用几行代码制作。
编辑:既然您问了,下面是树形图的一些代码。我选择PHP是因为MySQL查询很容易实现,但是这个概念可以很容易地用Java、C、Ruby等实现。
function listUsers($handler, $id, $prefix) {
// Please use MySQLi extension with prepared statements or your code
// becomes SQL injection paradise
$results = mysql_query("SELECT `user`, `referrer` FROM `users` WHERE `referrer` = $id");
while ($row = mysql_fetch_row($results) {
echo $prefix . $row[0];
listUsers($handler, $$row[1], $prefix . "* ");
}
}
$handler = mysql_connect(. . .);
listUsers($handler, 0, "")我80%肯定,如果实现正确的话,逻辑会正常工作。它应返回:
/*
Jon smith
* Alex Del
* * Jim West
* * Marko Polo
* * Johny Bravo
* Pit Sampras
* * Sara Mat
* * Gabriella white
* * Antonio Santo
* Maja Grozdanova
* * Agon Xheladini
*/https://stackoverflow.com/questions/3369493
复制相似问题