将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中文字符截取防乱码
Mar 28 PHP
php2html php生成静态页函数
Dec 08 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
php实现Session存储到Redis
Nov 11 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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 默默经典版本
2009/08/04 PHP
PHP学习之整理字符串
2011/04/17 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
Django权限机制实现代码详解
2018/02/05 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
存储过程的优点有哪些
2012/09/27 面试题
银行求职信个人范文
2013/12/16 职场文书
费用会计岗位职责
2014/01/01 职场文书
英语自我评价范文
2014/01/24 职场文书
建筑个人求职信范文
2014/01/25 职场文书
开会迟到检讨书
2014/02/03 职场文书
小学生作文批改评语
2014/12/25 职场文书
让世界充满爱观后感
2015/06/10 职场文书
蜗居观后感
2015/06/11 职场文书
初中团委工作总结
2015/08/13 职场文书
小学思品教学反思
2016/02/20 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS