2013-03-06 48 views
2

好吧,我想通過嵌套查詢訪問php/mysql數據庫。來自DB的PHP/Smarty嵌套數組

例如。我有2桌1)人和2)註冊。我在註冊中有一個refferal id選項卡。因此,當用戶登錄時,他應該能夠看到4個級別的註冊完成在他的ID下方。

表結構

註冊 ID |註冊ID | regtype |上線ID | uid |名字|中間名| | LastName Last etc

personal

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我能夠存儲我已經完成的第一線註冊結果。現在使用這個數組,我需要找出如何獲得第二行註冊,已經完成陣列rowz .....

回答

1

加入您的查詢,並得到結果。

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

在php中獲取所有結果。

+0

我知道了它的完成..感謝很多Prasanth – DarthVader 2013-03-21 08:40:45

+0

如果您發現答案有幫助,接受它,其他人可能會覺得它有用,誰會得到同樣的問題。 – 2013-03-21 08:45:05

+0

+1 from me ;-)希望接受來自[這裏](http://stackoverflow.com/questions/15542880/parent-child-relationship-within-a-single-table)... – Sepster 2013-03-21 09:39:25