将php数组输出html表格的方法


Posted in PHP onFebruary 24, 2014
<?php
class xtable
{
 private $tit,$arr,$fons,$sextra;
 public function __construct()
 {
  $this->tit=array();       // strings with titles for first row 
  $this->arr=array();       // data to show on cells
  $this->fons=array("#EEEEEE","#CCEEEE");  // background colors for odd and even rows
  $this->sextra="";       // extra html code for table tag
 } public function extra($s)      // add some html code for the tag table
 {
  $this->sextra=$s;
 }
 public function background($arr) {if (is_array($arr)) $this->fons=$arr; else $this->fons=array($arr,$arr);}
 public function titles($text,$style="") {$this->tit=$text; $this->sesttit=$style;}
 public function addrow($a) {$this->arr[]=$a;}
 public function addrows($arr) {$n=count($arr); for($i=0;$i<$n;$i++) $this->addrow($arr[$i]);}
 public function html()
 {
  $cfondos=$this->fons;
  $titulos="<tr>";
  $t=count($this->tit);
  for($k=0;$k<$t;$k++)
  {
   $titulos.=sprintf("<th>%s</th>",$this->tit[$k]);
  }
  $titulos.="</tr>";
  $celdas="";
  $n=count($this->arr);
  for($i=0;$i<$n;$i++)
  {
   $celdas.=sprintf("<tr style='background-color:%s'>",$this->fons[$i%2]);
   $linea=$this->arr[$i];
   $m=count($linea);
   for($j=0;$j<$m;$j++)
    $celdas.=sprintf("<td  %s>%s</td>","",$linea[$j]);
   $celdas.="</tr>";
  }
  return sprintf("<table cellpadding='0' cellspacing='0' border='1' %s>%s%s</table>",$this->sextra,$titulos,$celdas);
 }
 public function example()
 {
  $tit=array("Apellidos","Nombre","Telefono"); 
  $r1=array("Garcia","Ivan","888"); 
  $r2=array("Marco","Alfonso","555"); 
  $x=new xtable(); 
  $x->titles($tit);      //take titles array
  $x->addrows(array($r1,$r2));   // take all rows at same time
  return $x->html();     //return html code to get/show/save it 
 }
}


// Example
$t1=new xtable();
echo $t1->example()."<hr />";
$t2=new xtable();
for($i=1;$i<=10;$i+=2)
 {
  $t2->addrow(array("ODD",$i));
  $t2->addrow(array("EVEN",$i+1));
 }
$t2->background(array("pink","gold"));
$t2->titles(array("TYPE","#"));
$t2->extra(" style='width:500px; background-color:cyan; color:navy;'");
echo $t2->html()."<hr />";
$t3=new xtable();
for($i=1;$i<=6;$i++)
 {
  $t3->addrow(array("5x".$i,5*$i));
 }
$t3->background(array("olive","maroon"));
$t3->titles(array("Multiplication table","5"));
$t3->extra("style='border:dotted red 10px; padding-left:4px;padding-right:4px; text-align:right;width:500px; background-color:black; color:white;'");
echo $t3->html()."<hr />";
$t4=new xtable();
$a=array("#");
for($i=1;$i<=10;$i++)
 {
  $a[]=$i;
 }
$t4->addrow($a);
$t4->background(array("pink","gold"));
$tit=array(); $tit[]="Numbers";
for($i=1;$i<=10;$i++) $tit[]="#";
$t4->titles($tit);
$t4->extra("style='border:solid 1px silver; padding-left:4px;padding-right:4px; text-align:center;width:500px; background-color:cyan; color:navy;'");
echo $t4->html()."<hr />";
?>
PHP 相关文章推荐
MySQL GBK→UTF-8编码转换
May 24 PHP
php adodb连接带密码access数据库实例,测试成功
May 14 PHP
一道关于php变量引用的面试题
Aug 08 PHP
第二章 PHP入门基础之php代码写法
Dec 30 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
Zend Framework页面缓存实例
Jun 25 PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
php格式化日期和时间格式化示例分享
Feb 24 #PHP
php目录操作实例代码
Feb 21 #PHP
php无限遍历目录示例
Feb 21 #PHP
php自动加载autoload机制示例分享
Feb 20 #PHP
php多文件上传下载示例分享
Feb 20 #PHP
php分页代码学习示例分享
Feb 20 #PHP
php多文件上传实现代码
Feb 20 #PHP
You might like
解析php中const与define的应用区别
2013/06/18 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP中的Memcache详解
2014/04/05 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
对Python _取log的几种方式小结
2019/07/25 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python同时迭代多个序列的方法
2020/07/28 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
用python制作个视频下载器
2021/02/01 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
建筑自我鉴定
2013/10/19 职场文书
专业销售业务员求职信
2013/11/18 职场文书
大学军训感言600字
2014/02/25 职场文书
学生党员公开承诺书
2014/05/28 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书