首页 > php代码 > php城市无限分类

php城市无限分类

php城市无限分类

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') 显示 => 中国 -> 浙江 -> 杭州 

代码如下: 

<?php
// ========== 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;
}


文章地址:http://www.phprm.com/code/e5ac761d94828c9af9cbfd308d4be100.html

转载随意^^请带上本文地址!

标签:none

发表留言