将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下MAIL的另一解决方案
Oct 09 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
PHP计数器的实现代码
Jun 08 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
php7下的filesize函数
Sep 30 PHP
php使用event扩展的io复用测试的示例
Oct 20 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 $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
php实现的CSS更新类实例
2014/09/22 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
ionic3 懒加载
2017/08/16 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
python中open函数的基本用法示例
2019/09/07 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
影视制作岗位职责
2013/12/04 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
股权转让协议书
2014/04/12 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
干部考核工作总结2015
2015/07/24 职场文书
创业计划书之干洗店
2019/09/10 职场文书
Python制作动态字符画的源码
2021/08/04 Python