将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 dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 PHP
PHP 转义使用详解
Jul 15 PHP
php去除HTML标签实例
Nov 06 PHP
基于php和mysql的简单的dao类实现crud操作功能
Jan 27 PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
Laravel中注册Facades的步骤详解
Mar 16 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
Apr 14 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/17 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
使用python实现baidu hi自动登录的代码
2013/02/10 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python的缺点和劣势分析
2019/11/19 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Python如何实现邮件功能
2020/05/27 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
大学旷课检讨书
2014/01/28 职场文书
小学师德师风整改措施
2014/10/27 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
Python 正则模块详情
2021/11/02 Python