将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 Sql Server连接失败问题及解决办法
Aug 07 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
PHP 金额数字转换成英文
May 06 PHP
php数据库密码的找回的步骤
Jan 12 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
php命名空间学习详解
Feb 27 PHP
php实现文件编码批量转换
Mar 10 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 PHP
PHP中strval()函数实例用法
Jun 07 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删除目录及目录下所有文件的方法详解
2013/06/06 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
js opener的使用详解
2014/01/11 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
教学评估实施方案
2014/03/16 职场文书
投资建议书模板
2014/05/12 职场文书
500字小学生检讨书
2015/02/19 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
征求意见函
2015/06/05 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Python中itertools库的四个函数介绍
2022/04/06 Python