繁体   English   中英

PHP树级嵌套菜单递归函数

[英]PHP tree level nested menu recursive function

我正在尝试在树级别显示一组数据

例如这是我的数据库记录

在此处输入图片说明

我希望将其显示为

在此处输入图片说明

等等。

当然上面的图片是我自己手动输入的

  <?php require 'tree.php'; $tree = array( 'wwq' => array( 'Project4' => array( 'phase1', ), 'Project23' => array( 'phase23', ), 'Test1' => array( 'test1', ), 'Projecttest' => array( 'phasetest', 'testtest', ) ), ); echo treeOut($tree); ?> 

我的功能是

 <?php function treeOut($row_Recordset1){ $markup = ''; foreach ($row_Recordset1 as $branch => $twig){ $markup .= '<li>' . ((is_array($twig)) ? $branch . treeOut($twig) : $twig). '</li>'; } return '<ul>' . $markup . '</ul>'; } ?> 

因此,我的问题是如何使数组成为for循环,而不是我键入每个数据。

谢谢任何人能帮助我! 如果有什么问题可以问我以下评论。

如果是关于如何在将数组传递给treeOut()函数之前准备所需格式的数组,则尝试在调用treeOut()之前添加以下行:

$tree = array();

$sql = "SELECT * FROM tbl_name ORDER BY companyName ASC, projectName ASC, phaseName ASC";
$result = mysql_query($connection, $sql);

while($data = mysql_fetch_array($result)){
    $tree[ $data['companyName'] ][ $data['projectName'] ][] = $data['phaseName'];
}

echo treeOut($tree);

希望这是您正在寻找的东西,将对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM