gpt4 book ai didi

php - 动态处理多级类别结构

转载 作者:行者123 更新时间:2023-11-29 08:16:53 26 4
gpt4 key购买 nike

目前正在从事与企业列表相关的项目。我需要一些帮助来处理类别结构。

使用表名Bus_CategoryTbl来维护类别,使用的字段有Cat_ID、Cat_Name、Cat_Slug、Cat_Level等,其中Cat_PID将具有父类别的Cat_ID。

以下是示例记录,

Cat_ID   Cat_name           Cat_Slug            Cat_PID
1 Web Design web-design 0
2 PHP php 1
3 MYSQL mysql 1
4 Hotels hotels 0
5 5 Stars 5-stars 4
6 3 stars 3-stars 4
7 Le Meridian le-meridian 5
8 St Laurn Suites st-laurn-suites 5
9 Niraali Executive niraali 6

Cat_PID值为0表示一级父类别。

以上是示例记录,上表有3个级别。例如:酒店 (Cat_ID: 4) -> 5 星级 (Cat_ID: 5) -> St Laurn Suites (Cat_ID: 8)

如何使用 PHP/MySql 动态实现上述结果( future 级别可能会增加)?它不应该占用更多的 CPU 时间。当前代码是使用 foreach 以 3 维数组结构编写的,但它有点困惑,占用了更多的 CPU 时间。

有人能帮我实现这个目标吗? TIA。

最佳答案

尝试以下代码

    function Fname($parentId=0){
$catgArray = array();
$sql = mysql_query("SELECT * FROM Table Where Cat_PID=$parentId");
$mainCatg = mysql_fetch_array($sql);
foreach($mainCatg as $mc){
array_push($catgArray , $mc);
$subCatg = $this->Fname($mc->Cat_ID);
if (count($subCatg ) > 0) {
array_push($catgArray , $subCatg );
}
}
return $catgArray;
}

在结果中,我们可以使用 is_array() 函数检查子类别级别

关于php - 动态处理多级类别结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20417895/

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