将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 相关文章推荐
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
PHP学习之正则表达式
Apr 17 PHP
php存储过程调用实例代码
Feb 03 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
实例化php类时传参的方法分析
Jun 05 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初学者头疼问题总结
2006/07/08 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
javascript Excel操作知识点
2009/04/24 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
简单了解python模块概念
2018/01/11 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
小学毕业感言50字
2014/02/16 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
银行委托书范本
2014/09/28 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
全陪导游词
2015/02/04 职场文书
考试后的感想
2015/08/07 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android