私はこの問題に 2 日間取り組んできましたが、まだ解決策を思いつきませんでした。私は現在、ユーザーがメンバーIDを使用して他のユーザーを登録できるWebサイトを設計しているため、ポイントを許可できます.サイトのメインゲームの1つは、ユーザーが他の2人のユーザーを登録した場合、パーセンテージが1に等しいことを要求します.次に、この 2 人のユーザーがそれぞれ 2 人のユーザーを登録しているかどうかを再帰的にチェックし、パーセンテージを 3 に増やします。したがって、1 番目以外に見つかったレベルごとに、パーセンテージを 2 ずつ増やす必要があります。
これがうまくいくと思われる方法を示す小さな図を次に示します。
[A]
[B] [C]
[D] [E] [F] [G]
[H][I] [j][k] [l][m] [o][p]
A は、パーセンテージを求めたいメンバーを表します。He は [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,name,memberid,refid) で登録すると、さまざまなゲームへの参加を申し込むことができます。bs100049 ゲームでは、購入して 2 人のユーザーを自分で登録する必要があります。すでに 1% を獲得しています。両方の登録ユーザーが上記の操作を完了している場合 (それぞれが 2 人のユーザーを登録している場合) に限り、パーセンテージは 1 から 3 に増加し、パーセンテージの次の値は 5 などになります。ユーザーが bs100049 ゲームを購入した場合、