将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 文件上传进度条的两种实现方法的代码
Nov 25 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
php selectradio和checkbox默认选择的实现方法详解
Jun 29 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
php结合curl实现多线程抓取
Jul 09 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
关于laravel框架中的常用目录路径函数
Oct 23 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/07 PHP
php header功能的使用
2013/10/28 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
Python识别验证码的实现示例
2020/09/30 Python
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
高中生毕业自我鉴定
2013/10/10 职场文书
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
自动一体化专业求职信
2014/03/15 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
感谢信模板大全
2015/01/23 职场文书
讲解MySQL增删改操作
2022/05/06 MySQL