联系电话:0755-27515592
最新动态:

PHP教程

你的位置: 首页>>智慧亿恩>>PHP教程

PHP版表格展示无限级分类

点击数:10842015-07-17 09:52:44 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

新闻摘要:TreeTable是一个能把无限分类展现为表格形式的PHP类库插件,分类的层级表示为表格的列,分类的行数表格分类的总数,单元格显示分类名称. TreeTable通过对单元格的行合并和列合并实现了无

TreeTable是一个能把无限分类展现为表格形式的PHP类库插件,分类的层级表示为表格的列,分类的行数表格分类的总数,单元格显示分类名称.

TreeTable通过对单元格的行合并和列合并实现了无限层级也能较好的展示层级架构.

1.构建ID/PID/NAME的数组,后期可通过数据库生成的动态数据,代码如下:


  1. array(  
  2.     *  1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'),  
  3.     *  2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'),  
  4.     *  3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'),  
  5.     *  4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'),  
  6.     *  5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'),  
  7.     *  6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'),  
  8.     *  7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二')  
  9.     *  )  

2.导入TreeTable类库,代码如下:

  1. import('@.ORG.Util.TableTree'); //Thinkphp导入方法3. 生成TreeTable HTML代码 
  2. $treeTable->init($treearr); 
  3. echo $treeTable->get_treetable(); 

注意:get_treetable()只生产表体部门,<TALBE></TABLE>请自行构建.

php完整代码如下:

  1. <?php 
  2. /** 
  3.  * File name: TreeTable.class.php 
  4.  * Author: run.gao 312854458@qq.com  Date: 2012-07-24 23:22 GMT+8 
  5.  * Description: 通用的表格无限级分类 
  6.  * */ 
  7.  
  8. /** 
  9.  * 表格展示无限分类是将无线分类已表格的形式表现出来,更好的能体现出分类的所属关系 
  10.  * 使用方法: 
  11.  * 1. 实例化分类 
  12.  * $treeTable = new TreeTable(); 
  13.  * 2. 初始化分类,$treearr必须是一个多维数组且包含 id,parentid,name字段 
  14.  * $treeTable->init($treearr); 
  15.  * 3. 获取无限分类HTML代码 
  16.  * echo $treeTable->get_treetable(); 
  17.  * */ 
  18.  
  19. class TreeTable { 
  20.     /** 
  21.     * 生成树型结构所需要的2维数组 
  22.     * @var array 
  23.     */ 
  24.     public $arr = array(); 
  25.  
  26.     /** 
  27.      * 表格列数 
  28.      * @var int 
  29.      */ 
  30.     public $columns = 0; 
  31.  
  32.     /** 
  33.      * 表格行数 
  34.      * @var int 
  35.      */ 
  36.     public $rows  = 0; 
  37.      
  38.     /** 
  39.     * 初始化TreeTable数据 
  40.     * @param array 2维数组 
  41.     * array( 
  42.     *      1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'), 
  43.     *      2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'), 
  44.     *      3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'), 
  45.     *      4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'), 
  46.     *      5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'), 
  47.     *      6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'), 
  48.     *      7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二') 
  49.     *      ) 
  50.     */ 
  51.     public function init($arr=array()){ 
  52.         if(!is_array($arr)) return false; 
  53.          
  54.         foreach ($arr as $k=>$v) { 
  55.             $this->arr[$v['id']] = $v
  56.         } 
  57.          
  58.         foreach ($this->arr as $k => $v){ 
  59.             $this->arr[$k]['column']           = $this->get_level($v['id']); // Y轴位置 
  60.             $this->arr[$k]['arrchildid']       = $this->get_arrchildid($v['id']); // 所有子节点 
  61.             $this->arr[$k]['arrparentid']      = $this->get_arrparentid($v['id']); // 所有父节点 
  62.             $this->arr[$k]['child_bottom_num'] = $this->get_child_count($v['id']); // 所有底层元素节点 
  63.         } 
  64.          
  65.           $this->columns = $this->get_columns(); // 总行数 
  66.         $this->rows    = $this->get_rows(); // 总列数 
  67.          
  68.            // 按照arrparentid
【责任编辑:(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程