PHP/HTML/Table Utilities

Материал из Web эксперт
Перейти к: навигация, поиск

The Table and HTMLTable Classes

   <source lang="html4strict">

/* Code Revised from

Sam"s Teach Yourself Php, Mysql and Apache in 24 Hours (Sams Teach Yourself S.) (Paperback) by Julie C. Meloni

  1. Paperback: 616 pages
  2. Publisher: Sams (1 Jan 2004)
  3. Language English
  4. 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 "
";
         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 "
";
    }

} 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 "cellpadding\" border=1>"; foreach ( $this->headers as $header ) print "";
        foreach ( $this->table_array as $row=>$cells ) {
print ""; foreach ( $cells as $cell ) print ""; print ""; } print "
bgcolor\">$header
bgcolor\">$cell
";
    }

} $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>


      </source>
   
  


The Table Class

   <source lang="html4strict">

/* Code Revised from

Sam"s Teach Yourself Php, Mysql and Apache in 24 Hours (Sams Teach Yourself S.) (Paperback) by Julie C. Meloni

  1. Paperback: 616 pages
  2. Publisher: Sams (1 Jan 2004)
  3. Language English
  4. ISBN: 0672326205
  • /

<html> <head> <title>The Table Class</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 ){
       $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 "
";
        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 "
";
   }

} $test = new table( array("a","b","c") ); $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>


      </source>