这个问题比较难,无级分类倒循环 最近在做一个项目,是要修获取分类的,这个可就难为死我了,大家看下图吧!条件是:知道 三级别分类的type_id = 64最后要得到的结果是: 顶级分类一-》二级别分类-》三级别分类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $s = $this->Marticle_typeModel->getOneById($ArticleRs[type_id]);//文章所属分类复制代码我来说明下我的这个方法,$ArticleRs[type_id])就是type_id,假设他是64getOneById()方法就是获取一条数据,查询type_id等于64的信息,读取出来请问如何得到结果是这样的文字呢:顶级分类一-》二级别分类-》三级别分类(64) 这个很简单做个递归,如果parent_id!=0继续上查 这种结合设计的的确很烦琐,lz看看这个sqlselect *from 分类表 top , 分类表 mid , 分类表 botwhere -- 确定表关系 bot.parent_id = mid.type_id and mid.parent_id = top.type_id -- 确定顶部分类特征 and top.parent_id = '0' 先找一級分類,再由一級分類的ID找二級分類,由二級分類ID找三級分類 $array = array(); find_parent($array, 64); function find_parent(&$parent_array, $id) { $sql = mysql_query("select * from TABLE where type_id ='" . $id . "'"); if(mysql_numrows($sql) > 0) { while ($get_parent = mysql_fetch_array($sql)) echo $get_parent['parent_id']; find_parent($parent_array, $get_parent['parent_id']); } }大概的思路是这样,没测试过~~ 循环查找,直到parent_id为0建议添加一个层次的字段 level这样很方便统计查询每次都循环查找效率很低 php html实体字符的转换 关于JMAIL正文内容正常,但是后面多了很多乱码的问题 求人解释下这段代码,关于引用传递 我想在租借的虚拟主机上使用PEAR,要怎么办呢 在PHP中,如何在单引号中引用变量? 求助!!兄弟来帮我一下.小问题 新手:我有一个问题如下: PHP怪事:总出错,但找不到原因 为何我的2000下的php 4没法使用Session? php 怎么指定ID并修改里面的数据 smarty时间问题 外包 注册与登陆
复制代码我来说明下我的这个方法,$ArticleRs[type_id])就是type_id,假设他是64getOneById()方法就是获取一条数据,查询type_id等于64的信息,读取出来请问如何得到结果是这样的文字呢:
顶级分类一-》二级别分类-》三级别分类(64)
做个递归,如果parent_id!=0
继续上查
lz看看这个sql
select
*
from
分类表 top
, 分类表 mid
, 分类表 bot
where
-- 确定表关系
bot.parent_id = mid.type_id
and mid.parent_id = top.type_id
-- 确定顶部分类特征
and top.parent_id = '0'
$array = array();
find_parent($array, 64);
function find_parent(&$parent_array, $id) {
$sql = mysql_query("select * from TABLE where type_id ='" . $id . "'");
if(mysql_numrows($sql) > 0) {
while ($get_parent = mysql_fetch_array($sql))
echo $get_parent['parent_id'];
find_parent($parent_array, $get_parent['parent_id']);
}
}
大概的思路是这样,没测试过~~
这样很方便统计查询每次都循环查找效率很低