PHP面向对象--无限分类

今天终于把PHP的无限分类给搞懂了,原理搞明白了。其实代码却很少。就是要知道它的原理,就能写的出来,在第一个项目的时候这个问题也困扰了好久。而且在高老师以前的基础上修改了就可以用了。没去真真研究它到底具体原理是怎么实现的,结果到了现在这个项目中悲剧了。(MVC模式--Brophp框架)设计模式:

 昨晚上还做毛一直在想这个事情,今天本来是星期天,但是却比平常要醒早很多,马上开看昨天的代码,而且把以前的过程化的代码也拿出来参考。但是还是么有搞明白。在看李文凯老师用Thinkphp写的那个分类。大同小已,但是不知道为什么在Brophp框架内死活没办法实现Modle类的调用和声明。郁闷。最后试了好几次都没有成功,而且是星期天,也没地方问人去。就想办法在category.class.php中定义了一个function 把它公有化了。最后成功出现效果便利出来,但是没有实现缩进效果。有找 Utaoy 要来他的代码。最后在知道没有在便利的时候使用 str_repeat这个函数。现把代码贴出来供大家参考参考!

说明:这个是安装我项目的数据库设计和框架设计模式书写的。主要是让大家看实现的思路!不要按部就搬!

 

<?php
       class Category extends Action{ //继承Action类
           $cat = D("category"); //实例化数据库类 默认继承 PDO          
            $list=$cat->field("id,fid,name,path,concat(path,'-',id) as bpath")->order('bpath')->select();  //使用concat函数连接给path起了一个别名 bpath,然后order->按照bpath排序
          foreach($list as $key=>$value){  //把结果集 $list 遍历
                   $list[$key]["name"]=str_repeat('$nbsp;',count(explode('-',$list[$key]['bpath']))-2).'|-'.$list[$key]['name'];                
         } //使用explode分割bpath ,count统计出数量 ,然后str_repeat 重复$nbsp;按照count重复,最后连接里面的名字得到最后的分类名       
             $this->assign("cat",$list);
             $this->diaplay();

   }

   这是PHP代码页面;
  然后前台视图那调用时候和平常调用一样!
   具体实现就这么一段代码,然后的添加删除代码也要需要到遍历这个。有点麻烦,所以需要写到一个类里面,但是删除的时候出来一点问题。sql语句出了点问题,今天也很晚了,明天继续攻克吧!
 有空的时候具体把从数据库声明,到最后添加删除整体写个出来吧!

  
           

相关文章

已有 9 条评论
  1. Outwaniunwipt

    www.northfacejacketsclearanceus.com quixtuddy
    north face clearance outlet Hizexcictwect
    north face outlet Zegeirrilax

    Outwaniunwipt 回复
  2. 防腐漆

    路过 踩踩

    防腐漆 回复
  3. 瑶浴药包

    得学学呀

    瑶浴药包 回复
  4. 中草药油

    复杂呀···

    中草药油 回复
  5. karen millen evening dresses sale

    哥们有前途啊 继续加油了啊!!

    karen millen evening dresses sale 回复
  6. 小A

    枫,有钱途的小伙子阿!继续加油~~哈哈~

    小A 回复
    1. 枫叶红秋雨

      @小A

      @小A
      嘿嘿!

      枫叶红秋雨 回复
  7. sprityaoyao

    我最近也下载了一个ThinkPHP研究呢

    sprityaoyao 回复
    1. 枫叶红秋雨

      @sprityaoyao

      @sprityaoyao
      嗯。很强大的说

      枫叶红秋雨 回复
发表新评论