仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2513|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP无穷级分类查找父层函数

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:12:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板函数   如:
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 ==========


理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
海妖 该用户已被删除
沙发
 楼主| 发表于 2015-2-9 21:59:34 | 显示全部楼层
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 17:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表