将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个人网站架设连环讲(一)
Oct 09 PHP
第五节--克隆
Nov 16 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 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/09/30 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
PHP使用函数用法详解
2018/09/30 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
微信小程序自定义组件
2017/08/16 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
Python找出list中最常出现元素的方法
2016/06/14 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python实现Zabbix-API监控
2018/09/17 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
pymysql模块使用简介与示例
2020/11/17 Python
专升本自我鉴定
2013/10/10 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
小学家长意见怎么写
2015/06/03 职场文书
升学宴家长致辞
2015/07/27 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书