首页 > 代码库 > 将PHP数组输出为HTML表格

将PHP数组输出为HTML表格

1. [代码][PHP]代码    
<?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,$) {$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 />";
 http://www.huiyi8.com/clxgt/?
$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数组输出为HTML表格