将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手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
PHP实现统计代码行数小工具
Sep 19 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
经济职业学院毕业生自荐书
2014/03/17 职场文书
公司授权委托书
2014/04/04 职场文书
房产公证书范本
2014/04/10 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
对祖国的寄语大全
2014/04/11 职场文书
员工合理化建议书
2014/05/19 职场文书
《绝招》教学反思
2016/02/20 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python