我已经为这个问题苦苦挣扎了两天,但我仍然无法提出解决方案。我目前正在设计一个网站,用户可以通过他的会员注册其他用户,以便我们可以给他积分。该网站的主要游戏之一要求如果用户注册了另外两个用户,他的百分比等于 1。然后该函数必须递归检查这两个用户中的每一个,如果他们也注册了两个用户,然后将百分比增加到 3。因此,对于除第一个之外的每个级别,百分比必须增加 2;
这是一个小图表,向您展示它应该可以工作:
[A]
[B] [C]
[D] [E] [F] [G]
[H][I] [j][k] [l][m] [o][p]
A代表我们要为其计算百分比的成员。他注册[B]和[C]他的百分比=1 B注册[D]和[E]百分比+=1.C在这里也注册[F]和[G]百分比+ =1.所以在这个级别的检查百分比将等于3。
这是我想出的功能,但它不完整,我很确定它不会工作。我卡住了,请帮助我。
function calcpercentage($id)
{
$count=0;
$percent=1;
$id1=$id;
$sql="SELECT * from bs100049 WHERE RefId='$id1'";
$checkh=mysql_query($sql) or die('error'.mysql_error());
while($result=mysql_fetch_array($checkh)&& $count<=2)
{
$count++;
$id1=$result['MemberId'];
$percent++;
}
}
因为我也在使用 mysql,所以它并不容易。我确信一旦我弄清楚了这个函数,我就可以编写一个函数来为每个用户动态地绘制上面的树。
这是一个更好的解释(我想在丹的回答之后发布,但我不能)这是这个网站的设计工作方式。只有现有成员是您的推荐人,您才能注册,因此在“会员”表中您的 id 和推荐人的将被存储。以这种格式(id,name,memberid,refid)。一旦您注册,您可以申请参加不同的游戏。bs100049 游戏要求您自己购买并注册 2 个用户。一旦完成,您可以确定您已经赚取 1%。如果且仅当您的两个注册用户都完成了您在上面所做的事情(他们每个人都注册了两个用户),那么百分比从 1 增加到 3,因此下一个百分比值将是 5,依此类推。如果用户购买了 bs100049 游戏,