- <?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 />";
- ?>
- //该片段来自于http://www.codesnippet.cn/detail/170320149066.html
来源: http://www.codesnippet.cn/detail/170320149066.html