来自DB的PHP / Smarty嵌套数组

时间:2013-03-06 10:04:32

标签: php mysql arrays

好的家伙我试图通过嵌套查询访问php / mysql数据库。

例如。我有2个表1)人和2)注册。我在注册时有一个refferal id选项卡。因此,当用户登录时,他应该能够看到在他的id之下完成的4个级别的注册。

表格结构

注册 id |注册ID | regtype |上线ID | uid | FirstName | MiddleName | LastName Last etc

个人

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;
}

现在我能够达到一个级别,但是如何循环第二个数组以及稍后将生成的数组以获得树结构。或者......任何帮助......

使用数组rowz,我能够存储我已经完成的第一行regstration的结果。现在使用这个数组我需要找到如何获得在数组rowz下面完成的第二行注册.....

1 个答案:

答案 0 :(得分:1)

加入您的查询并获得结果。

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

在php中获取所有结果。