gpt4 book ai didi

php - 从邻接表模型数据库中检索数据。(MySQL)

转载 作者:行者123 更新时间:2023-11-29 03:07:35 25 4
gpt4 key购买 nike

function get_hierarchy_page()
{
$detail = $this->input->post('name');
$tree = $this->dashboard_model->get_detail($detail);
$this->load->view('layout/layout', $data);

if(isset($tree))
{
$data['hierarchy'] = $this->data_array_for_teacher($tree);
}
}

function data_array_for_teacher($tree)
{
if(!(isset($tree)))
return 0;

$data_query = mysql_query("select * from tbl_level");

while($result = mysql_fetch_assoc($data_query))
{
$id = $result['level_id'];
$data_array[$id] = $result;
}

//array to get level id
while($level_result = mysql_fetch_assoc($tree))
{
$level_array[] = $level_result['level_id'];
}

if(!(isset($level_array)))
return 0;

foreach($level_array as $level)
{
$p = $this->recursive_for_teacher($data_array,$level);
print_r($p);
}
}

function recursive_for_teacher($data_array,$level_once)
{
if(!isset($data_array,$level_once))
return 0;

$i = 0;
static $p = array();
$data = $data_array;
$y = $level_once;
$x = $data[$y]['level_parent'];
$z = $data[$y]['level_name'];
$y=$x;
array_push($p,$z);
$p[] = $z;

if($y!=0)
$this->recursive_for_teacher($data,$y);

return $p;
}

我正在开发一个基于使用邻接表模型存储在 mysql 中的分层数据的系统。我有 2 个表 tbl_usertbl_level
tbl_level 有以下字段-level_id,level_parent,level_name。这三个字段分别与标准数据库结构中的idparent_nameparent_id相同。

tbl_level表中有很多组织,每个组织都有不同的层级结构。
我写了上面的代码,它解决了我在给定组织中获取任何权限的整个层次结构的问题。
我现在面临的唯一问题是当我在一个数组中获得所需的答案时。
每个权限我需要一个数组。
数组(
[0] => 工程与技术
[1] => Univ1
[2] => 类
[3] => 工商管理硕士
[4] => 工程与技术
[5] => univ1
[6] => Class_cse
[7] => 计算机科学
[8] => 技术学士
[9] => 工程与技术
[10] => univ1
)

谁能提出更好的解决方案?

最佳答案

function parent_sort($categories)
{
foreach($categories as $item)
$childs[$item->parent_id][] = $item;
foreach($categories as $item)
if (isset($childs[$item->category_id]))
$item->childs = $childs[$item->category_id];

return $childs[0];
}

你可以使用这个函数对层次数组进行排序,它会按层次输出排序后的数组

关于php - 从邻接表模型数据库中检索数据。(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com