The PHP Code START
class Table {
var $table_array = array();
var $headers = array();
var $cols;
function addRow( $row ) {
if (count($row) != $this->cols)
return false;
array_push($this->table_array, $row);
return true;
}
function addRowAssocArray( $row_assoc ) {
$row = array();
foreach ( $this->headers as $header ) {
if ( ! isset( $row_assoc[$header] ))
$row_assoc[$header] = "";
$row[] = $row_assoc[$header];
}
array_push($this->table_array, $row);
return true;
}
function output() {
print "<pre>";
foreach ( $this->headers as $header )
print "<b>$header</b> ";
print "\n";
foreach ( $this->table_array as $y ) {
foreach ( $y as $xcell )
print "$xcell ";
print "\n";
}
print "</pre>";
}
}
class HTMLTable extends Table {
var $bgcolor;
var $cellpadding = "2";
function HTMLTable( $headers, $bg="#ffffff" ) {
Table::Table($headers);
$this->bgcolor = $bg;
}
function setCellpadding( $padding ) {
$this->cellpadding = $padding;
}
function output() {
print "<table cellpadding=\"$this->cellpadding\" border=1>";
foreach ( $this->headers as $header )
print "<td bgcolor=\"$this->bgcolor\"><b>$header</b></td>";
foreach ( $this->table_array as $row=>$cells ) {
print "<tr>";
foreach ( $cells as $cell )
print "<td bgcolor=\"$this->bgcolor\">$cell</td> ";
print "</tr>";
}
print "</table>";
}
}
$test = new HTMLTable( array("a","b","c","d","f","g"), "#0000ff");
$test->setCellpadding( 7 );
$test->addRow( array(1,2,3,7,8,9));
$test->addRow( array(4,5,6,10,11,12));
$test->addRowAssocArray( array( "b"=>0, "a"=>6, "c"=>3, "d"=>3, "f"=>5, "g"=>7));
$test->output();
The PHP Code END