2017-09-29 76 views
-1

我得到的用戶名(子)和轉介(父)從數據庫中的記錄,並把它們放到數組通過下面的代碼:轉換親子數組UL李

$sql = "SELECT username, referral FROM acc_status"; 
     $q = $conn->prepare($sql); 
     $q->execute(array()); 
     $data = array(); 
     while($row = $q->fetch(PDO::FETCH_ASSOC)){ 
      $data[] = $row; 
     } 


     $map = array(); 
     foreach ($data as $node) { 
      // init parent 
      if (!array_key_exists($node['referral'], $map)) { 
       $map[$node['referral']] = array(); 
      } 

      // add to parent 
      $map[$node['referral']][$node['username']] = & $map[$node['username']]; 
     } 

     echo '<pre>'; 
     print_r($map["123"]); //get parents and child of username "123" only. 
     echo '</pre>'; 

這裏是輸出: enter image description here

現在我想隱蔽的數組UL和李列表,下面是代碼:

 function printTree($tree) { 
      if(!is_null($tree) && count($tree) > 0) { 
       echo '<ul>'; 
       foreach($tree as $node) { 
        echo '<li>'.$node['referral'];//error here 
        printTree($node['username']);//error here 
        echo '</li>'; 
       } 
       echo '</ul>'; 
      } 
     } 
     printTree($map["123"]); 

我得到2個錯誤:

1)公告:未定義指數:推薦

2)公告:未定義指數:用戶名

如何修復錯誤?

回答

0

我會在這裏簡單介紹一下,簡單地說,您的推薦人的名稱和用戶名實際上就是您的索引。所以對於$node['username']這將是qqq我沒有我的計算機顯示工作代碼,但是這將是。