2017-09-29 75 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我没有我的计算机显示工作代码,但是这将是。