classID classFID className classCount 1 0 中国 0 2 1 浙江 0 3 1 江苏 0 4 2 杭州 0 5 4 西湖区 0 若 findFather('4','0') 显示 = 杭州 findFather('4','1') 显示 = 浙江 findFather('4','2') 显示 = 中国 findFather('4','3') 显示 = 中国 - 浙江 - 杭州 classID classFID className classCount 1 0 中国 0 2 1 浙江 0 3 1 江苏 0 4 2 杭州 0 5 4 西湖区 0若findFather('4','0') 显示 => 杭州findFather('4','1') 显示 => 浙江findFather('4','2') 显示 => 中国findFather('4','3') 显示 => 中国 -> 浙江 -> 杭州代码如下: // ========== findFather函数 START ========== // 功能:无限级分类之找出父层的相关数据 // 参数:$classID,当前子层的编号 // $type,0找自己 1找父亲 2找祖先 3找家谱 // 字段:classID主键,自生成 classFID父编号 // className分类名称 classCount分类统计 function findFather($classID,$type) { global $db,$flist,$forefather; define("_STR_CUT", " -> "); $db->query("set names 'utf8'"); $sql = 'select * from tbl_name where classID = "'.$classID.'"'; $result = $db->query($sql); $recordCount = $result->num_rows; if ($recordCount != 0) { //取值 $row = $result->fetch_assoc(); $classFID = $row['classFID']; $classID = $row['classID']; $className = $row['className']; //若找到祖先,即classFID为0,则将函数状态设为0 if ($classFID == '0') $type='0'; } if ($type == '1') //找父亲 { $type = '0'; //第二次开始函数状态为0,即循环2次 findFather($classFID,$type); } else if ($classFID != '0' AND $type == '2') //找祖先,状态type为2,祖先classFID不为0未找到 { findFather($classFID,$type); } else if ($type == '3') { findFather($classFID,$type); $flist = $flist . _STR_CUT . $className; //生成家谱 } else if ($type == '0') { $forefather = $className; } $result = $forefather . $flist; return $result; } // ========== findFather函数 END ==========
PHP无限级分类查找父函数
未经允许不得转载:福利吧|福利社|fuliba » PHP无限级分类查找父函数
相关推荐
- 暂无文章