gpt4 book ai didi

php - 类别树的递归 php mysql 查询/函数

转载 作者:行者123 更新时间:2023-11-29 00:57:11 24 4
gpt4 key购买 nike

我设置了一个 oscommerce,并决定在每个类别中添加一个“最受欢迎”的产品。我需要查询所有子类别,以便我可以查询列表中最受欢迎的产品并显示它。

然而。

我有这个功能,但似乎无法从中获取类别 ID 数组。这个问题与范围有关吗??

 $children_ids = array(); 

function fetch_children($parent) {

$result = tep_db_query('SELECT `categories_id` FROM categories WHERE parent_id = "'.(int)$parent.'"');

while($row = tep_db_fetch_array($result)) {


$children_ids[] = (int)$row['categories_id'];


fetch_children($row['categories_id']);
}
}

此时我并没有尝试使用 $children_ids 变量访问数据数组,但是这似乎不包含任何内容!?我也尝试过 array_push();

有什么想法吗?

最佳答案

您正在尝试从函数内部修改全局变量。您可以从函数体内声明该变量为全局变量(但我强烈建议不要这样做)或让函数返回 children_ids 数组,这将是这样的(未测试):

function fetch_children($parent) {

$result = tep_db_query('SELECT categories_id FROM categories WHERE parent_id = "'.(int)$parent.'"');
$list = array();
while($row = tep_db_fetch_array($result)) {

$list[] = (int)$row['categories_id'];


$list = array_merge($list, fetch_children($row['categories_id']));
}
return $list;
}

$children_ids = fetch_children($root_node_id);

关于php - 类别树的递归 php mysql 查询/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5488283/

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