* @name Table.class.php * @version 0.1 * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @package TableGenerator */ class Table { private $zebra; private $tableId; private $tableClass; private $headerId; private $headerClass; private $bodyId; private $bodyClass; private $footerId; private $footerClass; private $zebraClass; private $tableWidth; private $columnsWidth; /** * Constructor for table class * @param $zebra set on/off the zebra mode * @param $id id name for this table * @param $class class name for this table */ public function __construct($zebra=null, $id=null, $class=null) { if ($id != null) $this->tableId = "id=\"$id\""; if ($class != null) $this->tableClass = "class=\"$class\""; if ($zebra != null) $this->zebra = true; else $this->zebra = false; } /** * Setter for zebra mode * @param $zebra set on/off the zebra mode */ public function setZebra($zebra) { $this->zebra = $zebra; } /** * Setter for table width * @param $string width of table for example '600px' or '100%' */ public function setTableWidth($string) { $this->tableWidth = "style=\"width:$string\""; } /** * Setter for columns width * @param $array array with the width for every column */ public function setColumnsWidth($array) { foreach ($array as $elem) { if ($elem != "") $this->columnsWidth[] = "style=\"width:$elem\""; else $this->columnsWidth[] = ""; } } /** * Setter for table class name * @param $class class name */ public function setTableClass($class) { $this->tableClass = "class=\"$class\""; } /** * Setter for table id name * @param $id id name */ public function setTableId($id) { $this->tableId = "id=\"$id\""; } /** * Setter for thead class name * @param $class class name */ public function setHeaderClass($class) { $this->headerClass = "class=\"$class\""; } /** * Setter for thead id name * @param $id id name */ public function setHeaderId($id) { $this->headerId = "id=\"$id\""; } /** * Setter for tbody class name * @param $class class name */ public function setBodyClass($class) { $this->bodyClass = "class=\"$class\""; } /** * Setter for tbody id name * @param $id id name */ public function setBodyId($id) { $this->bodyId = "id=\"$id\""; } /** * Setter for tfoot class name * @param $class class name */ public function setFooterClass($class) { $this->footerClass = "class=\"$class\""; } /** * Setter for tfoot id name * @param $id id name */ public function setFooterId($id) { $this->footerId = "id=\"$id\""; } /** * Print the table * @param $headers header for every column * @param $data data matrix */ public function showTable($headers, $data) { $count = 0; $table = "tableWidth $this->tableId $this->tableClass>"; //HEADER $table .= "headerId $this->headerClass>"; foreach($headers as $h) { $style = $this->columnsWidth[$count]; $table .= ""; $count++; } $table .= ""; //FOOTER $table .= "footerId $this->footerClass>"; foreach($headers as $h) $table .= ""; $table .= "bodyId $this->bodyClass>"; //BODY $count = 0; foreach ($data as $row) { if ($this->zebra) { $count++; if ($count%2 == 1) $this->zebraClass = "class=\"zebraOn\""; else $this->zebraClass = "class=\"zebraOff\""; } $table .= "zebraClass>"; foreach ($row as $col) $table .= ""; $table .= ""; } $table .= "
$h
$col
"; echo $table; } } ?>