php - 如何使递归 TreeView 可折叠

标签 php jquery mysql css treeview

我有一个递归 TreeView ,它从数据库中提取所有信息,并且想了解如何使其可折叠。 我尝试使用 Jquery 和 Javascript,但都没有任何效果。不确定是我的错误还是其他原因。

这是我的基本代码:

<body>
<?php
mysql_connect('localhost', 'root');
mysql_select_db('test');


 $qry="SELECT * FROM treeview_items";
 $result=mysql_query($qry);


 $arrayCategories = array();

 while($row = mysql_fetch_assoc($result)){ 
 $arrayCategories[$row['id']] = array("parent_id" => $row['parent_id'], "name" =>                       
 $row['title']);   
  }
//createTree($arrayCategories, 0);

 function createTree($array, $currentParent, $currLevel = 0, $prevLevel = -1) {

foreach ($array as $categoryId => $category) {

if ($currentParent == $category['parent_id']) {                       

    if ($currLevel > $prevLevel) echo " <ul> "; 

    if ($currLevel == $prevLevel) echo " </li> ";

    echo '<li id="'.$categoryId.'" onclick=child(this.id);>       
 <span>'.$category['name'].'</span>';

    if ($currLevel > $prevLevel) { $prevLevel = $currLevel; }

    $currLevel++; 

    createTree ($array, $categoryId, $currLevel, $prevLevel);

    $currLevel--;               
    }   

}

if ($currLevel == $prevLevel) echo " </li>  </ul> ";

}   
?>
<div id="content" class="general-style1">
<?php
 if(mysql_num_rows($result)!=0)
 {
?>
<ul>
<li id="0" class="root"><span>Categories</span>
<?php createTree($arrayCategories, 0); ?>
</li>
</ul>
<?php
}
?>
</div>
</body>
</html>

感谢任何帮助!

最佳答案

我认为非常值得看看这种用于可折叠 TreeView 的纯 css 方法:http://www.thecssninja.com/css/css-tree-menu通过一些修改,它可以用于您可能想要使用的任何类型的 TreeView 。

关于php - 如何使递归 TreeView 可折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665976/

相关文章:

php - 我是否在 Medoo Framework 中正确处理查询错误?

php - Wordpress 仅在主页中缩小 html

javascript - 根据所选输入值更改输入字段的表单

php - SQL : Insert or Update multiple row at one time with condition

javascript - Tablesorter 对多个美元符号进行排序

mysql - 启动事务并提交失败自动回滚?

php - Bootstrap - 垂直显示数据库中的类别并按字母顺序排列在多行中

php - 在不同的 PHP 页面中使用相同的 MySQL 连接

jquery - 如何在没有帖子的情况下在 ASP.Net MVC 3 中保留值?

jquery - trigger.io:我应该使用 request.ajax 还是 jQuery.ajax