表格类提供了多个函数,允许你从数组或者数据库结果集中自动生成HTML表格。

初始化类

像CodeIgniter的其它类一样, 在控制器中使用$this->load->library 函数来初始化表格类:

$this->load->library('table');

一旦被加载,可以这样建立一个表格库对象的实例: $this->table

例子

此例演示如何通过一个多维数组(multi-dimensional array)自动生成表格。

注意:数组的第一个索引将成为表头(或者你可以通过set_heading()函数自定义表头)。

$this->load->library('table');

$data = array(

array('Name', 'Color', 'Size'),

array('Fred', 'Blue', 'Small'),

array('Mary', 'Red', 'Large'),

array('John', 'Green', 'Medium')

);

echo $this->table->generate($data);

这里是一个由数据库查询结构创建而成的表格例子。表格类会基于表格的名字自动地生成表格标题(参考下面记述的函数,你可以使用set_heading()函数设置你自己的标题)。

$this->load->library('table');

$query = $this->db->query("SELECT * FROM my_table");

echo $this->table->generate($query);

此例演示了如何使用连续的参数创建一个表格:

$this->load->library('table');

$this->table->set_heading('Name', 'Color', 'Size');

$this->table->add_row('Fred', 'Blue', 'Small');

$this->table->add_row('Mary', 'Red', 'Large');

$this->table->add_row('John', 'Green', 'Medium');

echo $this->table->generate();

这个简单的例子,除了更换个别的参数外,还使用了数组:

$this->load->library('table');

$this->table->set_heading(array('Name', 'Color', 'Size'));

$this->table->add_row(array('Fred', 'Blue', 'Small'));

$this->table->add_row(array('Mary', 'Red', 'Large'));

$this->table->add_row(array('John', 'Green', 'Medium'));

echo $this->table->generate();

修改表格的外观

表格类允许你以你指定的设计编排,去设置表格模板。这里是模板的原型:

$tmpl = array (

'table_open'          => '

'heading_row_start'   => '

',

'heading_row_end'     => '

',

'heading_cell_start'  => '

',

'heading_cell_end'    => '

',

'row_start'           => '

',

'row_end'             => '

',

'cell_start'          => '

',

'cell_end'            => '

',

'row_alt_start'       => '

',

'row_alt_end'         => '

',

'cell_alt_start'      => '

',

'cell_alt_end'        => '

',

'table_close'         => '

'

);

$this->table->set_template($tmpl);

注意:  在这个模板,你会发现这里有两个”row”块设置项。 这是允许你创建隔行颜色,或者设计每行数据的重复间隔元素。

你不必提交全部的模板。如果你只想改变编排的一部分,你可以简单地提交那部分的元素。在这个例子里,只有表格的开始标签被更改:

$tmpl = array ( 'table_open'  => '

$this->table->set_template($tmpl);

$this->table->generate()

返回一个包含生成的表格的字符串。 接受一个可选的参数,该参数可以是一个数组或是从数据库获取的结果对象。

$this->table->set_caption()

允许你给表格添加一个标题

$this->table->set_caption('Colors');

$this->table->set_heading()

允许你设置表格的表头。你可以提交一个数组或分开的参数:

$this->table->set_heading('Name', 'Color', 'Size');

$this->table->set_heading(array('Name', 'Color', 'Size'));

$this->table->add_row()

允许你在你的表格中添加一行。你可以提交一个数组或分开的参数:

$this->table->add_row('Blue', 'Red', 'Green');

$this->table->add_row(array('Blue', 'Red', 'Green'));

如果你想要单独设置一个单元格的属性,你可以使用一个关联数组。关联键名 ‘data’ 定义了这个单元格的数据。其它的键值对 key => val 将会以 key=’val’ 的形式被添加为该单元格的属性:

$cell = array('data' => 'Blue', 'class' => 'highlight', 'colspan' => 2);

$this->table->add_row($cell, 'Red', 'Green');

// 生成

//

BlueRedGreen

$this->table->make_columns()

这个函数以一个一维数组为输入,创建一个二维数组,它的深度和列数一样。这个函数可以把一个带有多个元素的单一数组根据表格的列数进行整理并显示。参考下面的例子:

$list = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve');

$new_list = $this->table->make_columns($list, 3);

$this->table->generate($new_list);

// Generates a table with this prototype

one two three
four five six
seven eight nine
ten eleven twelve

$this->table->set_template()

允许你设置你的模板。你可以提交整个模板或局部模板。

$tmpl = array ( 'table_open'  => '

$this->table->set_template($tmpl);

$this->table->set_empty()

使你能设置一个默认值,用来显示在表格中内容为空的单元格。 例如,你可以设置一个non-breaking space(用来防止表格边框破损的空格):

$this->table->set_empty(" ");

$this->table->clear()

使你能清除表格的表头和行中的数据。如果你需要显示多个有不同数据的表格,那么你需要在每个表格生成之后调用这个函数来清除之前表格的信息。例如:

$this->load->library('table');

$this->table->set_heading('Name', 'Color', 'Size');

$this->table->add_row('Fred', 'Blue', 'Small');

$this->table->add_row('Mary', 'Red', 'Large');

$this->table->add_row('John', 'Green', 'Medium');

echo $this->table->generate();

$this->table->clear();

$this->table->set_heading('Name', 'Day', 'Delivery');

$this->table->add_row('Fred', 'Wednesday', 'Express');

$this->table->add_row('Mary', 'Monday', 'Air');

$this->table->add_row('John', 'Saturday', 'Overnight');

echo $this->table->generate();

$this->table->function

允许你指定一个本地的PHP方法或一个有效的方法应用到所有的单元格中的数据的数组对象。

$this->load->library('table');

$this->table->set_heading('Name', 'Color', 'Size');

$this->table->add_row('Fred', 'Blue', 'Small');

$this->table->function = 'htmlspecialchars';

echo $this->table->generate();

在上面的例子中,所有单元格中的数据都可以通过PHP的htmlspecialchars()方法实现html转义,其结果如下:

Fred<strong>Blue</strong>Small

html 实现表格控制器,HTML 表格类 - CodeIgniter 2.x 用户手册相关推荐

  1. 可以方便的将SQL语句的执行结果显示成表格结果的JAVA类,可以用于不同的数据显示

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 说明: ...

  2. POI导出表格到浏览器工具类,poi工具类

    POI导出表格到浏览器工具类 要封装的实体bean类 public class Question {private String id; //题目IDprivate String companyId; ...

  3. php制作表格生成器,php表格生成图片.doc

    php表格生成图片 php表格生成图片 篇一:php导出excel表格 最近因项目需要,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统.就趁机对这个研究了一番,下面进行一些总结 ...

  4. 手机端html表格,jQuery Mobile 表格

    jQuery Mobile 表格 响应式表格 响应式设计一般用于适配用户各种移动设备. 我们只需要使用一个简单的类名,jQuery Mobile 就能根据屏幕的尺寸自动调整页面内容. 响应式表格让页面 ...

  5. html th表格居中,HTML----之表格

    一.创建表格的基本语法: 单元格内的文字 ... ... 总结: 表格的主要目的是用来显示特殊数据的 一个完整的表格有表格标签(table),行标签(tr),单元格标签(td)组成,没有列的标签 中只 ...

  6. poi-tl导出word;自定义列表序号和表格宽度,表格合并,自定义标题,更新目录

    文章目录 poi-tl 入门示例 1.准备word模板 2.代码 自定义列表序号 1. poi-tl 支持的序号列表,直接使用文档种说明即可 2. 要是没有,可以利用NumberingFormat类去 ...

  7. java 表格_Java创建表格实例详解

    表格是最常用的数据统计形式之一,在 swing 中 由 JTable 类实现表格.接下来,我们看看怎么利用 JTable 创建表格. 在 JTable 类中除了默认的构造方法外,还提供了利用指定表格列 ...

  8. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建

    Java中的表格怎么利用表格模型进行创建 发布时间:2020-12-03 16:44:43 来源:亿速云 阅读:89 作者:Leah 本篇文章给大家分享的是有关Java中的表格怎么利用表格模型进行创建 ...

  9. python合并word表格单元格_Python实战009:读取Word文档中的表格数据及表格合并问题解决...

    同事最近被安排整理资料,主要工作室将文档中的表格数据提取出来并整理层Excel表格供我们FII刀具商城进行资料维护.由于刀具的种类繁多且规格无数,所以要处理的数据量相当的庞大.人工核对整理既费时又费力 ...

最新文章

  1. JavaBean与表单处理
  2. 深度学习AI美颜系列---天天P图疯狂变脸算法
  3. Httprunner生成Allure格式HTML报告
  4. 小微企业好选择 单路塔式服务器推荐
  5. Android 导航栏如何轻松搞定
  6. 学习Vue的一些看法
  7. 2018.8.14笔记
  8. 前端学习(482):html之b/s和c/s
  9. 机器人避障技术解读 与解决方案
  10. python烟花代码
  11. python新浪微博爬虫_基于Python的新浪微博数据爬虫
  12. markdown语法补充和todo制作
  13. matlab 画表格函数,excel表格数据曲线图模拟函数-如何在excel中绘制函数图像?
  14. 赖美云的认证照_818吴宣仪赖美云杨超越等《创造101》人气女孩旧照,鉴定是否整容~...
  15. 英特尔AI大会:新版AI芯片
  16. 利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!
  17. java错误光标的闪烁怎么设置_【CSS3】自定义设置可编辑元素闪烁光标的颜色
  18. java方法案例:判断整数是奇数还是偶数
  19. 痞子衡嵌入式:可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信
  20. Android Studio 自定义View命名空间报错的解决方法

热门文章

  1. Application.DoEvents()的使用
  2. 用Autofac替换.net core 内置容器
  3. js文件改变之后浏览器缓存问题怎么解决?
  4. 领域模型驱动设计(Domain Driven Design)入门概述
  5. 解决 Ext.Ajax.request 同步请求实现问题 (Ext3.0)
  6. PL/SQL块结构和组成元素
  7. SpringBoot-@RequestParam
  8. MongoDB学习笔记一ID自增长
  9. Mysql水平分表-merge
  10. unsw计算机科学的挂科率,澳洲新南威尔士大学考试挂科率达41%