The Table and HTMLTable Classes
|
/* Code Revised from
Sam's Teach Yourself Php, Mysql and Apache in 24 Hours (Sams Teach Yourself S.) (Paperback) by Julie C. Meloni
# Paperback: 616 pages # Publisher: Sams (1 Jan 2004) # Language English # ISBN: 0672326205
*/
<html> <head> <title>testing objects</title> </head> <body> <?php class Table{ var $table_array = array(); var $headers = array(); var $cols; function Table( $headers ){ $this->headers = $headers; $this->cols = count ( $headers ); }
function addRow( $row ){ if ( count ($row) != $this->cols ) return false; array_push($this->table_array, $row); return true; }
function addRowAssocArray( $row_assoc ) { if ( count ($row_assoc) != $this->cols ) return false; $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) ; }
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"), "#00FF00"); $test->setCellpadding( 7 ); $test->addRow( array(1,2,3)); $test->addRow( array(4,5,6)); $test->addRowAssocArray( array ( b=>0, a=>6, c=>3 )); $test->output(); ?> </body> </html>
|
|
|
|
|
HTML code for linking to this page:
Related in same category :
-
|
|