我正在使用一个MLM应用程序,其中我需要将所有用户显示为一棵树。为此,实现了用户之间的父子关系。我的表结构在这里:
我已经根据关系在多维数组中检索了用户的ID。这是数组:-
为此,我使用了以下代码:-
<?php
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('testapp', $con);
function create_tree( $parent_id = 0 )
{
$result_array = array();
$Query = 'SELECT * FROM `user` WHERE `parent`=\''.$parent_id.'\';';
$query_result = mysql_query($Query);
if(mysql_num_rows($query_result)>0)
{
while($row = mysql_fetch_assoc($query_result))
{
if(!array_key_exists($row['user_id'], $result_array))
{
//$result_array[$row['user_id']] = $row;
$result_array[$row['user_id']] = create_tree($row['user_id']);
}
}
}
return $result_array;
}
$tree = create_tree();
print_r($tree);
现在,我需要以树形结构显示数据:-
任何提示都会有所帮助。我非常接近完成此任务...
最佳答案
是的,你很近.. !!
试试下面,它将为您工作。
<?php
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('testapp', $con);
function create_tree( $parent_id = 0 ,$result_array = array())
{
$Query = 'SELECT * FROM `user` WHERE `parent`=\''.$parent_id.'\';';
$query_result = mysql_query($Query);
if(mysql_num_rows($query_result)>0)
{
while($row = mysql_fetch_assoc($query_result))
{
if(!array_key_exists($row['user_id'], $result_array))
{
//$result_array[$row['user_id']] = $row;
$result_array[$row['user_id']] = create_tree($row['user_id'],$result_array);
}
}
}
return $result_array;
}
$tree = create_tree();
print_r($tree);
?>
如果这对您不起作用,请让我知道。
谢谢..
关于php - 如何将多维数组键作为树返回?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16621543/