PHP Classes

File: class.Table.php

Recommend this page to a friend!
  Classes of Junrey Beduya   Table Class   class.Table.php   Download  
File: class.Table.php
Role: ???
Content type: text/plain
Description: a class
Class: Table Class
Author: By
Last change:
Date: 22 years ago
Size: 6,568 bytes
 

Contents

Class file image Download
<? /* ======================================================================= This file consist of the TABLE CLASS V 0.1.1. ------------------------------------- Purpose and Use: This class is used to create a table wherein the user can specify parameters for the table. This is used to shorten the code and minimize time of development Functions: * Table($col) - constructor of the class and accepts number of columns for the table * AddRow($row, $property="") - adds a single row to the table. accepts a string separated by "^". EXAMPLE: AddRow("Junrey^Beduya^Programmer","class=level2"); - the above code adds "Junrey" on the first column, then "Beduya" on the second and so forth * Process() - this function is the main of this class. It processes the table to be displayed. * Display() - print the table * setColWidth($width) - this funcion sets the width of every column of the table * setHeaders($header) - sets the text to be displayed as headers of the table * setProperties($property) - sets the property of the table * setHeaderStyle($start, $end)- sets the style of the header such as bold or italic. start and end means start tag and end tag EXAMPLE: setHeaderStyle("<font face=Verdana><b>", "</b></font>"); * setHeaderProperty($property)- sets the property of the header. Either you include a class or whatever EXAMPLE: setHeaderProperty("bgcolor=green"); setHeaderProperty("class=brownish"); * setColAlignment($alignment) - this function sets the alignment of every column inside the table the default alignment is left. * setSpacing($space) - sets the spacing of the table * setBorder($border) - sets the border of the table * setPadding($pad) - sets the padding of the table * getTable() - returns the processed table ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NOTE: Most of the function accepts string parameter. And most parameter are separated by comma. Only the AddRow($row) function that accepts a parameter that is delimited or separated by caret (^). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ------------------------------- = PROGRAMMER: = = Junrey Beduya = = junrey@cvis.net.ph = = 04.03.2002. 15.29.32 = ================================================================================ */ class Table { var $columns; // holds the number of columns var $width = array(); // holds the width of every column var $colProperties = array(); // holds the property of every column such as alignment var $rowCount; // number of rows in the table var $row = array(); // holds the value of every row var $properties; // holds the property of the table var $headerProperty; // has the value of the header properties var $headerStyle = array(); // header style whether bold or whatever var $headers = array(); // holds the text to be displayed as header var $padding; // table padding var $spacing; // table spacing var $border; // table border var $table; var $percent; function Table($col) { $this->columns=$col; $this->rowCount=0; $this->border=0; $this->padding=0; $this->spacing=0; $this->headerStyle["start"]="<center><b>"; $this->headerStyle["end"]="<center><b>"; $this->percent = false; for ($i=0;$i<$col-1; $i++){ $this->colProperties[$i]["align"] = "align=left"; } } function setColWidth($colWidth) { $temparr = split(",", trim($colWidth)); for ($i=0; $i<count($temparr); $i++) { $this->width[$i]=(int)$temparr[$i]; } } function setPercent($percent=true) { $this->percent = $percent; } function setHeaders($headers) { $temparr = split("\^", $headers); for ($i=0; $i<count($temparr); $i++) { $this->headers[$i]=$temparr[$i]; } } function Process() { if ($this->columns<=0) { return "There is no table to display."; } $width = 0; for ($i=0; $i < $this->columns; $i++) { $width += (int)$this->width[$i]; } $this->properties .= " width=" . $width; $this->properties .= ($this->percent==true)?"%":""; $temp = "<table cellspacing=" . $this->spacing . $this->properties; $temp .= " cellpadding=". $this->padding . " border=" . $this->border .">\n"; $temp .= "\t<tr " . $this->headerProperty . ">\n"; for ($y=0; $y < $this->columns; $y++) { $temp .= "\t\t<td width=" . $this->width[$y] . (($this->percent==true)?"%":"") . ">"; $temp .= $this->headerStyle["start"] . $this->headers[$y] . $this->headerStyle["end"] . "</td>\n"; } $temp .= "\t</tr>\n"; for ($i=0; $i< $this->rowCount; $i++) { $temparr = split("\^", $this->row[$i]["fields"]); $temp .= "\t<tr " . $this->row[$i]["properties"] . ">\n"; for ($y=0; $y < $this->columns; $y++) { $temp .= "\t\t<td width=" . $this->width[$y] . (($this->percent==true)?"%":"") . " " . $this->colProperties[$y]["align"] . ">" . $temparr[$y] . "</td>\n"; } $temp .= "\t</tr>\n"; } $temp .= "</table>"; $this->table = $temp; } function Display() { echo $this->table; } function getTable() { return $this->table; } function setProperties($property) { $this->properties=$property; } function setHeaderStyle($start, $end) { $this->headerStyle["start"]=$start; $this->headerStyle["end"]=$end; } function setHeaderProperty($property) { $this->headerProperty=$property; } function AddRow($row, $property="") { $count = $this->rowCount++; $this->row[$count]["fields"] = $row; $this->row[$count]["properties"] = $property; } function setPadding($pad) { $this->padding = $pad; } function setSpacing($space) { $this->spacing = $space; } function setBorder($border) { $this->border = $border; } function setColAlignment($alignment) { $temparr = split(",",$alignment); for ($i=0;$i<$this->columns;$i++) { $temp = trim($temparr[$i]); $this->colProperties[$i]["align"]= "align=" . ( ($temp=="")?"left":$temp ); } } } ?>