将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 相关文章推荐
PHP学习之PHP变量
Oct 09 PHP
php 保留小数点
Apr 21 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
PHP数组实例总结与说明
Aug 23 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 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
SONY SRF-40W电路分析
2021/03/02 无线电
php数字转汉字代码(算法)
2011/10/08 PHP
PHP闭包实例解析
2014/09/08 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
php经典趣味算法实例代码
2020/01/21 PHP
常用的javascript function代码
2008/05/23 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
在PyCharm中实现添加快捷模块
2020/02/12 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
Django websocket原理及功能实现代码
2020/11/14 Python
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
教育英语专业毕业生的求职信
2014/03/13 职场文书
期末评语大全
2014/05/04 职场文书
运动会方阵口号
2014/06/07 职场文书
2014年质检员工作总结
2014/11/18 职场文书
告知书格式
2015/07/01 职场文书
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript