将php数组输出html表格的方法

代码如下:

<?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 />";
?>

(0)

相关推荐

  • PHP分页函数代码(简单实用型)

    准备数据: 新建一个数据库 test 执行下面的语句(新建一个表 test :id.sex.name 三个字段) CREATE TABLE `test` ( `id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `sex` INT( 1 ) NOT NULL , `name` VARCHAR( 20 ) NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin; 添加数据到 te

  • php实现的漂亮分页方法

    分页页码显示算法 复制代码 代码如下: /**  * 获取分页的HTML内容  * @param integer $page 当前页  * @param integer $pages 总页数  * @param string $url 跳转url地址    最后的页数以 '&page=x' 追加在url后面  *   * @return string HTML内容;  */ public static function getPageHtml($page, $pages, $url){  //最

  • PHP处理excel cvs表格的方法实例介绍

    复制代码 代码如下: <PRE class=php name="code"><?php $data = array(); //convert a cvs file to an array $data $handle = fopen("data.csv","r"); while ($curline = fgetcsv($handle, 1000, ",")){ $tmp = array(); $num = co

  • php实现的后台表格分页功能示例

    本文实例讲述了php实现的后台表格分页功能.分享给大家供大家参考,具体如下: <?php //init.php $conn = mysqli_connect('127.0.0.1','root','','xz',3306); $sql = "SET NAMES UTF8"; mysqli_query($conn,$sql); $pagecount = 3; ?> user.php: <?php //用户管理 echo "用户管理<br/>&quo

  • PHP 简易输出CSV表格文件的方法详解

    复制代码 代码如下: $ret = '';$arrs = array(array(1,'test1'),             array(2,'test2'),             array(3,'test3'),             array(4,'test4'),             array(5,'test5'),             array(6,'test6'),             array(7,'test7')            );forea

  • php 分页原理详解

    在看本文之前,请确保你已掌握了PHP的一些知识以及MYSQL的查询操作基础哦. 作为一个Web程序,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就可以了,可是假如你的网站是几千甚至几十万会员的话,如果都在一页打开的话无论对浏览器还是观看者都是一种折磨,而且如果数据上亿,从数据库里查询一次的话,对服务器的压力是很大的,这不是正确的方法. 相信每个学习PHP的新手都会对分页这个东西感觉很头疼,不过有了默默的这一水帖,你肯定会拍拍脑袋说,嘿,原来分页竟

  • php将HTML表格每行每列转为数组实现采集表格数据的方法

    本文实例讲述了php将HTML表格每行每列转为数组实现采集表格数据的方法.分享给大家供大家参考.具体如下: 下面的php代码可以将HTML表格的每行每列转为数组,采集表格数据 <?php function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*

  • PHP通用分页类page.php[仿google分页]

    page.php 复制代码 代码如下: <?php /** ** 通用php分页类.(仿Google样式) ** 只需提供记录总数与每页显示数两个参数.(已附详细使用说明..) ** 无需指定URL,链接由程序生成.方便用于检索结果分页. ** 表单采用GET方法提交,可保证在诸如查询之,删除之类的操作时,不丢失URL参数 **/ class Pager{ //IE地址栏地址 var $url; //记录总条数 var $countall; //总页数 var $page; //分页数字链接 v

  • php动态实现表格跨行跨列实现代码

    复制代码 代码如下: < ?php /* * author:xudafeng@126.com * blog:http://www.xdf.me * date:2012.7.28 */ class danteng { function init($col1_name, $col2_name, $col3_name, $time_unit) { echo "<table border=1><tr><th>" . $col1_name . "

  • php输出表格的实现代码(修正版)

    网上的代码很多都是错误的,我们特修正了下. 复制代码 代码如下: <html> <head> <title>二行5列一共10个数据</title> </head> <body> <table border="1" width=80%> <tr> <?php $num = 5; //当前每一行显示列数 $k = 1; //初始化 while($k<=10) { if($k % $n

  • PHP处理CSV表格文件的常用操作方法总结

    要做在线Excel表格编辑功能,Excel的xls文件格式的解析就是个问题,毕竟这是微软Office的私有专利格式. 所以要做的话还是用通用的csv(Comma Separated Value,逗号分隔值)格式吧. 各种办公软件都能识别csv表格,其实就是以特定分隔符(比如逗号)分隔单元格的表格. 拿PHP来说,fgetcsv读入csv表格,返回一个数组, 然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单. 工作量主要还在于浏览器前端,建议你用jQuery进

随机推荐