この記事では、主に php での Infinitus 分類を紹介します。これを必要な友達に共有します。
まず、Infinitus 分類に対応するテーブルの構造です。| cate_id | cate_name| parentid(默认0)| | -------- | -----: | :----: | | 1 | 键盘 | 0 | | 2 | 机械键盘 | 1 | | 3 | cherry键盘| 2 |
これは、チェリーのparentidの値が、Infinitus分類の中核である上位レベルのcate_idに等しいことがわかります
2。無限分類関数は、データベース
内のデータを並べ替えることです。コントローラー:
public function index(){ $cate = D('category')->catetree(); $this->assign('cate',$cate); $this->display(); }
Model下的代码:public function catetree(){ $data = $this->select(); return $this->resort($data); }
public function resort($data,$parentid=0,$level=0){ static $ret = array(); foreach ($data as $key => $v) { if ($v['parentid']==$parentid) { $v['level']=$level; $ret[]=$v; $this->resort($data,$v['cate_id'],$level+1); } } return $ret ; }
を入れます。 catetree()
メソッドで渡された $data
を走査し、最上位のデータを見つけることが判定条件となります。まずトップレベルのデータを静的配列に保存し、次にそれ自体を呼び出して、トップレベルの列の ID をパラメータとして渡します。 これで $parentid=$v['cate_id']
catetree()
方法传过来的$data
进行遍历,判断条件就是为了找到顶级那条数据。先把顶级那条数据保存到静态数组里面,然后在调用本身,并且把顶级栏目的id做为参数传出去。
这样一来$parentid=$v['cate_id']
最終的な無線分類機能が完成しました!
以上がPHPでのInfinitus分類の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。