zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

2023-06-13 09:15:18 时间

复制代码代码如下:


<?php
classxtable
{
 private$tit,$arr,$fons,$sextra;
 publicfunction__construct()
 {
  $this->tit=array();       //stringswithtitlesforfirstrow
  $this->arr=array();       //datatoshowoncells
  $this->fons=array("#EEEEEE","#CCEEEE");  //backgroundcolorsforoddandevenrows
  $this->sextra="";       //extrahtmlcodefortabletag
 }

 publicfunctionextra($s)      //addsomehtmlcodeforthetagtable
 {
  $this->sextra=$s;
 }
 publicfunctionbackground($arr){if(is_array($arr))$this->fons=$arr;else$this->fons=array($arr,$arr);}
 publicfunctiontitles($text,$style=""){$this->tit=$text;$this->sesttit=$style;}
 publicfunctionaddrow($a){$this->arr[]=$a;}
 publicfunctionaddrows($arr){$n=count($arr);for($i=0;$i<$n;$i++)$this->addrow($arr[$i]);}
 publicfunctionhtml()
 {
  $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("<trstyle="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>";
  }
  returnsprintf("<tablecellpadding="0"cellspacing="0"border="1"%s>%s%s</table>",$this->sextra,$titulos,$celdas);
 }
 publicfunctionexample()
 {
  $tit=array("Apellidos","Nombre","Telefono");
  $r1=array("Garcia","Ivan","888");
  $r2=array("Marco","Alfonso","555");
  $x=newxtable();
  $x->titles($tit);     //taketitlesarray
  $x->addrows(array($r1,$r2));  //takeallrowsatsametime
  return$x->html();     //returnhtmlcodetoget/show/saveit
 }
}


//Example
$t1=newxtable();
echo$t1->example()."<hr/>";

$t2=newxtable();
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=newxtable();
for($i=1;$i<=6;$i++)
 {
  $t3->addrow(array("5x".$i,5*$i));

 }
$t3->background(array("olive","maroon"));
$t3->titles(array("Multiplicationtable","5"));
$t3->extra("style="border:dottedred10px;padding-left:4px;padding-right:4px;text-align:right;width:500px;background-color:black;color:white;"");
echo$t3->html()."<hr/>";

$t4=newxtable();
$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:solid1pxsilver;padding-left:4px;padding-right:4px;text-align:center;width:500px;background-color:cyan;color:navy;"");
echo$t4->html()."<hr/>";
?>