gpt4 book ai didi

PHP 需要到达主父级

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

我写了一段 PHP 代码来查找类别的父级并回显 parent_id,它工作正常,但如果这个父项有一个父项,我需要它继续循环,直到它找到应该有 category_parent = 0 的主要父项,任何人都可以告诉我该怎么做吗?

PHP

$query_rsCategoryId = "SELECT * FROM categories 
WHERE category_id = '".$_REQUEST['category_id']."'";
$rsCategoryId = mysql_query($query_rsCategoryId, $connection);
$row_rsCategoryId = mysql_fetch_assoc($rsCategoryId);

do {
$query_rsParent = "SELECT * FROM categories
WHERE category_id = '".$row_rsCategoryId['category_parent']."'";
$rsParent = mysql_query($query_rsParent, $connection);
$row_rsParent = mysql_fetch_assoc($rsParent);
$totalRows_rsParent = mysql_num_rows($rsParent);

if ($totalRows_rsParent > 0 ){
echo $row_rsParent['category_id'];
}
} while ($row_rsCategoryId = mysql_fetch_assoc($rsCategoryId));

最佳答案

function getParent($id) {    
$query_rsCategoryId = "SELECT * FROM categories
WHERE category_id = '".$_REQUEST['category_id']."'";
$rsCategoryId = mysql_query($query_rsCategoryId, $connection);
$row_rsCategoryId = mysql_fetch_assoc($rsCategoryId);
$parent = $row_rsCategoryId['category_parent'];
if (mysql_num_rows($rsCategoryId) < 1) {
// Error handling, entry with id $id not found
return null;
}
if ($parent == 0) {
return $id;
} else {
return getParent($parent);
}
}

免责声明:未经任何方式测试。

然而,这假定如果您的条目没有父级,则它是他自己的父级。

当然,mysql_* 已被弃用。确保查看 mysqliPDO

请注意,这可能会导致巨大的 IO 瓶颈,因为我们正在为它必须进行的跟踪的每一步执行 1 个查询


编辑:与您的 POST 参数一起使用:

echo getParent($_GET['category_id']);

假设您设置了 get 参数。

关于PHP 需要到达主父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671065/

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