2

さて、ネストされたクエリを介してphp /mysqldbにアクセスしようとしています。

例えば。私は2つのテーブルを持っています1)人と2)登録。登録に参照IDタブがあります。したがって、ユーザーがログインすると、IDの下で行われた4つのレベルの登録を確認できるはずです。

テーブル構造

登録ID| 登録ID| regtype | アップラインID| uid | FirstName | MiddleName | LastNameLastなど

個人的

id | uid | アップライン| fname | miname | lname | などと他の多くの詳細

今、私は最初のレベルに到達するためにこのようにやっています。

$tid=$_GET['tid'];
$con = mysql_connect("localhost","db","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
else
{  
mysql_select_db("db", $con);
$resulta = mysql_query("SELECT * FROM personal WHERE id=$tid ");
$counta = mysql_num_rows($resulta);
while ($rowa = mysql_fetch_assoc($resulta)) {
$selid=$rowa['uid'];
$amount=$rowa['amountf'];
$plan=$rowa['planname'];
$resultfulla[] = $rowa;
}
$resultb = mysql_query("SELECT * FROM regtab WHERE regtab.upline=$selid " );
$countb = mysql_num_rows($resultb);
$rowz=array();
while ($rowb = mysql_fetch_assoc($resultb)) {
$rowz[] = $rowb;
}

これで1つのレベルに到達できましたが、2番目の配列と後で生成される配列を循環させてツリー構造を取得するにはどうすればよいですか。またはそう....どんな助けでも....

配列rowzを使用すると、実行した1行目の登録の結果を格納できます。この配列を使用して、配列rowzの下で行われた2行目の登録を取得する方法を見つける必要があります。

4

1 に答える 1

1

クエリに参加して結果を取得します。

$sql = "SELECT * FROM personal 
        LEFT JOIN regtab ON regtab.upline = personal.uid
        WHERE personal .id=".$tid;

phpですべての結果を取得します。

于 2013-03-06T10:09:55.323 に答える