Version: 1.0
Type: Class
Category: HTML
License: GNU General Public License
Description: This class will create the normal html table and also the table content. It also can create nested HTML table with some creativity 🙂 .
<?php /**@Class Name : table ** @Author : kamal <[email protected]> ** @Licence : GPL ** @Function : This class would be able to create the simple html table and also the content. It also can handle nested html table with some creativity :-) ** @Notes : Feel free to use and modified this code. If you modified this code, please let me know so I could update my code. See below for the sample usage of this class. **/ class table { //private var $table ; /**Constructor - Create new html table ** @param - Set <table> : border, cellpadding, cellspacing, width, height, align, valign, ** bgcolor, class ** **/ function table($a = array()) { $this->table = "<table" ; if ($a['border']) { $this->table .= " border="".$a['border'].""" ; } if ($a['cellpadding']) { $this->table .= " cellpadding="".$a['cellpadding'].""" ; } if ($a['cellspacing']) { $this->table .= " cellspacing="".$a['cellspacing'].""" ; } if ($a['width']) { $this->table .= " width="".$a['width'].""" ; } if ($a['height']) { $this->table .= " height="".$a['height'].""" ; } if ($a['align']) { $this->table .= " align="".$a['align'].""" ; } if ($a['valign']) { $this->table .= " valign="".$a['valign'].""" ; } if ($a['bgcolor']) { $this->table .= " bgcolor="".$a['bgcolor'].""" ; } if ($a['class']) { $this->table .= " class="".$a['class'].""" ; } $this->table .= ">n" ; } /**Create new row ** @param - Set <tr> : bgcolor, class **/ function new_row($a = array()) { $this->table .= "<tr" ; if ($a['bgcolor']) { $this->table .= " bgcolor="".$a['bgcolor'].""" ; } if ($a['class']) { $this->table .= " class="".$a['class'].""" ; } $this->table .= ">n" ; } /**Create new cell ** @param - Set <td> : bgcolor, rowspan, colspan, width, height, align, valign ** background, class ** @Check for last_column. If not empty (true) will start the column on new row **/ function new_cell($a = array()) { $this->table .= "<td" ; if ($a['bgcolor']) { $this->table .= " bgcolor="".$a['bgcolor'].""" ; } if ($a['rowspan']) { $this->table .= " rowspan="".$a['rowspan'].""" ; } if ($a['colspan']) { $this->table .= " colspan="".$a['colspan'].""" ; } if ($a['width']) { $this->table .= " width="".$a['width'].""" ; } if ($a['height']) { $this->table .= " height="".$a['height'].""" ; } if ($a['align']) { $this->table .= " align="".$a['align'].""" ; } if ($a['valign']) { $this->table .= " valign="".$a['valign'].""" ; } if ($a['background']) { $this->table .= " background="".$a['background'].""" ; } if ($a['class']) { $this->table .= " class="".$a['class'].""" ; } $this->table .= ">n" ; $this->table .= $a['content'] ; $this->table .= "</td>n" ; if ($a['last_column']) {$this->table .="</tr>n" ; } } /**Return the string containing the html table code ** **/ function get_table() { $this->table .= "</table>n" ; return $this->table ; } } //sample usage $table = new table ( array('border'=>'0', 'width'=>'100%', 'bgcolor'=>'magenta', 'class'=>'try', 'cellpadding'=>'3', 'cellspacing'=>'0')) ; $x = 1 ; //Number //States in Malaysia $states = array('Kelantan', 'Terengganu', 'Kedah', 'Perlis', 'Perak', 'Pulau Pinang', 'Pahang', 'Negeri Sembilan', 'Selangor', 'Melaka', 'Johor', 'Wilayah Persekutuan Kuala Lumpur', 'Sabah', 'Serawak') ; foreach ($states as $state) { $table->new_row(array('bgcolor'=>'yellow')) ; $table->new_cell(array('content'=>$x, 'bgcolor'=>'red', 'width'=>'20%')) ; //last_column = true to make a new row $table->new_cell(array('last_column'=>'true', 'content'=>$state, 'bgcolor'=>'orange')) ; $x++ ; } echo $table->get_table() ; echo "<br>n" ; $table2 = new table(array('border'=>'1', 'width'=>'100%')) ; $table2->new_row() ; $table2->new_cell(array('last_column'=>'true', 'content'=>'header', 'colspan'=>'2')) ; $table2->new_row() ; $table2->new_cell(array('content'=>'first left', 'rowspan'=>'2')) ; $table2->new_cell(array('last_column'=>'true', 'content'=>'first right')) ; $table2->new_row() ; //$table2->new_cell(array('content'=>'second left')) ; $table2->new_cell(array('last_column'=>'true', 'content'=>'second right')) ; echo $table2->get_table() ; ?>