Maison  >  Article  >  php教程  >  php城市无限分类

php城市无限分类

WBOY
WBOYoriginal
2016-06-08 17:29:001457parcourir
<script>ec(2);</script>

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') 显示 => 中国 -> 浙江 -> 杭州
代码如下:
复制代码
    // ========== 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;
        
     }

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP striposArticle suivant:php strtolower字母转换小写