如何使用<;打印链接列表;ul>;在PHP中
我想使用如何使用<;打印链接列表;ul>;在PHP中,php,codeigniter,html-lists,Php,Codeigniter,Html Lists,我想使用元素打印下表数据 #id Category Parent 1 Electronics null 2 Food null 3 TV 1 4 Burger 2 5 Cake 2 就这样, <ul> <li>Electronics <ul> <
元素打印下表数据
#id Category Parent
1 Electronics null
2 Food null
3 TV 1
4 Burger 2
5 Cake 2
就这样,
<ul>
<li>Electronics
<ul>
<li>TV</li>
</ul>
</li>
<li>Food
<ul>
<li>Burger</li>
<li>Cake</li>
</ul>
</li>
</ul>
- 电子学
- 电视
- 食物
- 汉堡
- 蛋糕
- 电子学
- 电视
- 食物
- 汉堡
- 蛋糕
我正在使用Codeigniter框架(PHP)。尝试使用递归函数,但没有成功。这是我的代码。可以对其进行优化,但目前它可以完成以下任务:):
echo'';
foreach(类别为$value)
{
如果($value['Parent']==null)
{
echo“- ”。$value['Category'];
$noChildren=true;
foreach($categories作为$subValue)
{
如果($subValue['Parent']==$value['id'])
{
如果($noChildren==true)
{
$noChildren=false;
回声“
”;
}
回显“- ”.$subValue['Category']。
”;
}
}
如果($noChildren==false)
{
回声“
”;
}
}
}
回声“
”;
使用打印选项添加数据数组为什么不在此布局中使用
?数据在哪里?您获取了它们并保存在关联数组中了吗?是的,我将整个表数据保存在一个名为$categories@ralphmelhem的关联多维数组中,因为我需要将表数据打印在
element@rhgb中。您的解决方案给出了一个想法,尽管与我的想法类似(递归)。它不会打印整个表格。我需要一个递归解决方案。我的表数据不是固定的,它们是动态的。类别是多层次的。
echo'<ul>';
foreach($categories as $value)
{
if($value['Parent'] == null)
{
echo '<li>'.$value['Category'];
$noChildren = true;
foreach ($categories as $subValue)
{
if($subValue['Parent'] == $value['id'])
{
if($noChildren == true)
{
$noChildren = false;
echo '<ul>';
}
echo'<li>'.$subValue['Category'].'</li>';
}
}
if ($noChildren == false)
{
echo'</ul>';
}
}
}
echo'</ul>';