【发布时间】:2011-02-12 09:47:08
【问题描述】:
我正在尝试设计一个动态垂直菜单: 我的桌子是:
primary // primary key
pid //parent id 0 if none
cid //the actual category id
comment //some comment
问题是我想设计一个 php 函数,在从数据库中读取值后,它应该将其输出到 html 有序列表(如多级嵌套无序列表) 我知道使用递归函数很容易实现 问题是我做不到..我尝试了很多次但徒劳无功 主要问题在于嵌套(在哪里给出列表项以及从哪里开始列表)
如果有人能帮助我,我将非常感激......
好吧,我已经设法编写了一个丑陋的代码: {这里我用了两张表,一张给父母,一张给孩子}
$query="SELECT * FROM parentCat";
$result=mysql_query($query);
echo "<ul id=\"suckertree1\">";
while($row=mysql_fetch_array($result))
{
$name=$row['comment'];
$pid=$row['catid'];
echo "<li><a href=\"#\"> $name</a> ";
$query="select * from childCat WHERE pid=$pid";
$subresult=mysql_query($query);
$af=mysql_num_rows($subresult);
if($af>0)
{
echo "<ul>";
while($subrow=mysql_fetch_array($subresult))
{
$name=$subrow['comment'];
echo "<li><a href=\"#\"> $name</a> </li>";
}
echo "</ul>";
}
echo "</li>";
}
echo "</ul>";
它只会显示一个子级别... 我应该怎么做才能让它在无限级别上工作
【问题讨论】:
-
首先使用字典...然后发布您到目前为止尝试过的代码! (即使它看起来丑陋或设计不好);)
标签: php mysql recursion menu tree