<?php // 假设您已经连接到了数据库,并且已经定义了dedecms的相关数据库表前缀 /** * 获取子栏目的顶级栏目ID * * @param int $cid 子栏目的ID * @return int 顶级栏目的ID */ function getTopCategoryId($cid) { global $dsql; // 获取DedeCMS的数据库操作对象 // 查询当前子栏目的父栏目ID $sql = "SELECT pid FROM#@__arctype
WHERE id = '$cid'"; $row = $dsql>GetOne($sql); // 如果存在父栏目,则继续向上查询,直到顶级栏目 while ($row['pid'] > 0) { $sql = "SELECT pid FROM#@__arctype
WHERE id = '$row[pid]'"; $row = $dsql>GetOne($sql); } // 返回顶级栏目的ID return $row['pid']; } // 使用示例 $childCategoryId = 10; // 假设这是您要查询的子栏目ID $topCategoryId = getTopCategoryId($childCategoryId); echo "顶级栏目的ID为:$topCategoryId"; ?>
代码提供了一个函数getTopCategoryId
,它接受一个子栏目的ID作为参数,然后通过查询数据库中的栏目表(#@__arctype
)来递归地找到顶级栏目的ID,代码中使用了DedeCMS的数据库操作对象$dsql
来执行SQL查询。
您需要根据您的DedeCMS数据库表前缀替换#@__arctype
,以确保代码在您的网站上正常工作。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。