我从数据库获取用户名(子)和推荐(父)记录,并通过以下代码将它们放入数组中:
$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>';
现在我想将数组转换为ul和li列表,下面是代码:
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 :(得分:0)
我会在这里简要介绍一下,只需输入你的推荐名称,用户名就是你的索引。所以对于$node['username']
,它将是qqq我没有我的计算机和我一起显示工作代码,但这就是它将会是什么。