[英]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.