php写的 html table generator. 可以自动生成列表.很好用的
2007-05-08 11:23
881 查看
class html_table{
var $bgcolor = ""; // Table's bgcolor
var $width = "100%"; // Table's width
var $cellspacing = 1; // Table's cellspacing
var $cellpadding = 4; // Table's cellpadding
var $border = 0.1; // Table's Border
var $row_color="#E9E9E9"; //
var $set_row_event = FALSE; // Enable onmouseover event to display selected table's row in a different color
var $set_row_event_color="#9999FF"; // set the color
var $set_alter_colors = FALSE; // Display Table rows in a different color except header if it is enabled
var $first_alter_color="#FFCC99"; // first row color
var $second_alter_color="#FFFFFF"; // second row color
var $display_header_row = false; // Table Has a header Row
var $set_bold_labels=TRUE; // Fonts in header are bold
var $set_header_font_color="#000000"; // header font color
var $set_header_font_face="Tahoma"; // header font face
var $set_header_font_size=2; // header font face
var $set_header_bgcolor ="#FFCC33"; // header background color
var $display_fonts = FALSE; // Output Font 's Tags in table's cells
var $set_font_color="#000000"; // Tag font color
var $set_font_face="Tahoma"; // Tag font face
var $set_font_size=2; // Tag font size
var $current_color; // don't change it.
var $count; // count rows
/**
* html_table::opentable()
*
* @return
**/
function opentable(){
$html = "/n/n<!--// Start Table //-->/n/n/n<table width='".$this->width."'border='".$this->border."' cellspacing='". $this->cellspacing."' cellpadding='". $this->cellpadding."' bgcolor='". $this->bgcolor."'>/n";
return $html;
}
/**
* html_table::build_row_event()
*
* @return
**/
function build_row_event(){
$event = " onmouseover=/"this.style.background='$this->set_row_event_color';this.style.cursor='hand'/"
onmouseout=/"this.style.background='$this->current_color'/"";
return $event;
}
/**
* html_table::row()
*
* @param $isheader
* @return
**/
function row( $isheader ){
if ( $this->display_header_row ){
if ( $isheader ){
$this->current_color = $this->set_header_bgcolor;
}else{
if ( $this->set_alter_colors ){
$this->count%2!=0 ? $this->current_color = $this->first_alter_color : $this->current_color = $this->second_alter_color;
}else{
$this->current_color = $this->row_color;
}
}
}else{
if ( $this->set_alter_colors ){
if ( $this->set_alter_colors ){
$this->count%2!=0 ? $this->current_color = $this->first_alter_color : $this->current_color = $this->second_alter_color;
}
}else{
$this->current_color = $this->row_color;
}
}
if ( $this->set_row_event && $isheader==0) {
$event = $this->build_row_event();
} else {
$event = "" ;
}
$html = "<tr bgcolor='".$this->current_color."' $event>/n";
return $html;
}
/**
* html_table::row_close()
*
* @return
**/
function row_close(){
$html = "</tr>/n";
return $html;
}
/**
* html_table::build_html_table()
*
* @param $contents
* @return
**/
function build_html_table( $contents ){
$TABLE = $this->opentable();
$TABLE .= $this->build_columns( $contents );
$TABLE .= $this->closetable();
return $TABLE;
}
/**
* html_table::build_fonts()
*
* @param $txt
* @param integer $isheader
* @return
**/
function build_fonts($txt,$isheader=0){
if ($isheader && $this->display_header_row){
if ($this->set_bold_labels){
$txt = "<b>$txt</b>";
}
$html = "<font face='$this->set_header_font_face' size='$this->set_header_font_size' color='$this->set_header_font_color'>$txt</font>";
}else{
if ($this->display_fonts){
$html = "<font face='$this->set_font_face' size='$this->set_font_size' color='$this->set_font_color'>$txt</font>";
}else{
$html = $txt;
}
}
return $html;
}
/**
* html_table::build_columns()
*
* @param $contents
* @return
**/
function build_columns( $contents ){
$html = "";
reset($contents);
while (list($key, $dis) = each($contents)){
!$this->count ? $header=1 : $header=0;
$this->count++;
$html .= $this->row( $header );
$cell="";
while ( list($id,$values) = each($dis)){
$cell .= "<td ";
if ( IsSet($values["align"]) ) $cell .= "align='".$values["align"]."' ";
if ( IsSet($values["width"]) ) $cell .= "width='".$values["width"]."' ";
if ( IsSet($values["bgcolor"]) ) $cell .= "bgcolor='".$values["bgcolor"]."' ";
if ( IsSet($values["colspan"]) ) $cell .= "colspan='".$values["colspan"]."' ";
if ( IsSet($values["valign"]) ) $cell .= "align='".$values["valign"]."' ";
if ( !IsSet($values["text"]) ) $values["text"]=" ";
$cell .= ">";
$cell .= $this->build_fonts($values["text"],$header);
$cell .= "</td>/n";
}
$html .= $cell;
$html .= $this->row_close();
}
return $html;
}
/**
* html_table::closetable()
*
* @return
**/
function closetable(){
$html = "</table>/n/n/n <!--// Close Table //-->/n/n/n";
return $html;
}
}
把上面的这段copy & paste 下来, save as html_table.class.php
###############################################################################
应用在这里: copy paste 下来 , 试试
<?php
include ("html_table.class.php");
// create object
$mytbl = new html_table();
// General Table properties
$mytbl->width = "450"; // set table width;
$mytbl->cellspacing = 1; // 1 is class's default value
$mytbl->cellpadding = 4; // 4 is class's default value
$mytbl->border = 0; // 0 is class's default value
$mytbl->rowcolor = "#E9E9E9"; // table's rows colors...default is #FFCC99
// Set table's header row
$mytbl->display_header_row = TRUE; // enable the option. Default is FALSE
$mytbl->set_bold_labels = TRUE; // Default is TRUE
$mytbl->set_header_font_color="#000000"; // Default is #000000
$mytbl->set_header_font_face="Tahoma"; // default is Tahoma
$mytbl->set_header_bgcolor ="#FF9933"; // Default if $FFCC33
//Set row event
$mytbl->set_row_event = TRUE; // Default is FALSE
$mytbl->set_row_event_color = "#FF9900"; //Default is #9999FF
// Set table's rows alter colors
$mytbl->set_alter_colors = TRUE; // Default is False
$mytbl->first_alter_color = "#CCCCCC"; // Default is #FFCC99
$mytbl->second_alter_color = "#E9E9E9"; // Default is #FFFFFF
// Add Font Tags in each cell
$mytbl->display_fonts = TRUE; // Default Is FALSE
// Builbing A Table - 3 colums, 5 rows
// 1st row Colspan 3
$myarr[0][0]["colspan"]= 3;
$myarr[0][0]["align"] = "center";
$myarr[0][0]["text"] = "ICL";
$myarr[1][0]["text"]= " ";
$myarr[1][1]["text"]="Qtyout";
$myarr[1][2]["text"]="Yield";
##########embeded table##########################
$inner=new html_table();
$innerarr[0][0]["colspan"]=2;
$innerarr[0][0]["align"]="center";
$innerarr[0][0]["text"]="ICL";
#$innerarr[1][0]["text"]="Qtyin";
#$innerarr[1][1]["text"]="Yield";
$innerhtml=$inner->build_html_table($innerarr);
####################################
// adding rows
for ( $i=2; $i<=25; $i++){
$myarr[$i][0]["width"] = 50;
$myarr[$i][0]["align"] = "right";
$myarr[$i][0]["bgcolor"] = "red";
$myarr[$i][0]["text"] = $i;
$myarr[$i][1]["width"] = 300;
$myarr[$i][1]["align"] = "center";
$myarr[$i][1]["text"] = "<a href=/"#/">Link to Page $i</a>";
$myarr[$i][2]["width"] = 100;
$myarr[$i][2]["align"] = "left";
$myarr[$i][2]["text"] = "$innerhtml";
}
// Building Html from array
$html = $mytbl->build_html_table( $myarr );
?>
<html>
<head><title>HTML TABLE CLASS ::: Example</title></head>
<body>
<center>
<?php
// Echo the table.
echo $html;
?>
var $bgcolor = ""; // Table's bgcolor
var $width = "100%"; // Table's width
var $cellspacing = 1; // Table's cellspacing
var $cellpadding = 4; // Table's cellpadding
var $border = 0.1; // Table's Border
var $row_color="#E9E9E9"; //
var $set_row_event = FALSE; // Enable onmouseover event to display selected table's row in a different color
var $set_row_event_color="#9999FF"; // set the color
var $set_alter_colors = FALSE; // Display Table rows in a different color except header if it is enabled
var $first_alter_color="#FFCC99"; // first row color
var $second_alter_color="#FFFFFF"; // second row color
var $display_header_row = false; // Table Has a header Row
var $set_bold_labels=TRUE; // Fonts in header are bold
var $set_header_font_color="#000000"; // header font color
var $set_header_font_face="Tahoma"; // header font face
var $set_header_font_size=2; // header font face
var $set_header_bgcolor ="#FFCC33"; // header background color
var $display_fonts = FALSE; // Output Font 's Tags in table's cells
var $set_font_color="#000000"; // Tag font color
var $set_font_face="Tahoma"; // Tag font face
var $set_font_size=2; // Tag font size
var $current_color; // don't change it.
var $count; // count rows
/**
* html_table::opentable()
*
* @return
**/
function opentable(){
$html = "/n/n<!--// Start Table //-->/n/n/n<table width='".$this->width."'border='".$this->border."' cellspacing='". $this->cellspacing."' cellpadding='". $this->cellpadding."' bgcolor='". $this->bgcolor."'>/n";
return $html;
}
/**
* html_table::build_row_event()
*
* @return
**/
function build_row_event(){
$event = " onmouseover=/"this.style.background='$this->set_row_event_color';this.style.cursor='hand'/"
onmouseout=/"this.style.background='$this->current_color'/"";
return $event;
}
/**
* html_table::row()
*
* @param $isheader
* @return
**/
function row( $isheader ){
if ( $this->display_header_row ){
if ( $isheader ){
$this->current_color = $this->set_header_bgcolor;
}else{
if ( $this->set_alter_colors ){
$this->count%2!=0 ? $this->current_color = $this->first_alter_color : $this->current_color = $this->second_alter_color;
}else{
$this->current_color = $this->row_color;
}
}
}else{
if ( $this->set_alter_colors ){
if ( $this->set_alter_colors ){
$this->count%2!=0 ? $this->current_color = $this->first_alter_color : $this->current_color = $this->second_alter_color;
}
}else{
$this->current_color = $this->row_color;
}
}
if ( $this->set_row_event && $isheader==0) {
$event = $this->build_row_event();
} else {
$event = "" ;
}
$html = "<tr bgcolor='".$this->current_color."' $event>/n";
return $html;
}
/**
* html_table::row_close()
*
* @return
**/
function row_close(){
$html = "</tr>/n";
return $html;
}
/**
* html_table::build_html_table()
*
* @param $contents
* @return
**/
function build_html_table( $contents ){
$TABLE = $this->opentable();
$TABLE .= $this->build_columns( $contents );
$TABLE .= $this->closetable();
return $TABLE;
}
/**
* html_table::build_fonts()
*
* @param $txt
* @param integer $isheader
* @return
**/
function build_fonts($txt,$isheader=0){
if ($isheader && $this->display_header_row){
if ($this->set_bold_labels){
$txt = "<b>$txt</b>";
}
$html = "<font face='$this->set_header_font_face' size='$this->set_header_font_size' color='$this->set_header_font_color'>$txt</font>";
}else{
if ($this->display_fonts){
$html = "<font face='$this->set_font_face' size='$this->set_font_size' color='$this->set_font_color'>$txt</font>";
}else{
$html = $txt;
}
}
return $html;
}
/**
* html_table::build_columns()
*
* @param $contents
* @return
**/
function build_columns( $contents ){
$html = "";
reset($contents);
while (list($key, $dis) = each($contents)){
!$this->count ? $header=1 : $header=0;
$this->count++;
$html .= $this->row( $header );
$cell="";
while ( list($id,$values) = each($dis)){
$cell .= "<td ";
if ( IsSet($values["align"]) ) $cell .= "align='".$values["align"]."' ";
if ( IsSet($values["width"]) ) $cell .= "width='".$values["width"]."' ";
if ( IsSet($values["bgcolor"]) ) $cell .= "bgcolor='".$values["bgcolor"]."' ";
if ( IsSet($values["colspan"]) ) $cell .= "colspan='".$values["colspan"]."' ";
if ( IsSet($values["valign"]) ) $cell .= "align='".$values["valign"]."' ";
if ( !IsSet($values["text"]) ) $values["text"]=" ";
$cell .= ">";
$cell .= $this->build_fonts($values["text"],$header);
$cell .= "</td>/n";
}
$html .= $cell;
$html .= $this->row_close();
}
return $html;
}
/**
* html_table::closetable()
*
* @return
**/
function closetable(){
$html = "</table>/n/n/n <!--// Close Table //-->/n/n/n";
return $html;
}
}
把上面的这段copy & paste 下来, save as html_table.class.php
###############################################################################
应用在这里: copy paste 下来 , 试试
<?php
include ("html_table.class.php");
// create object
$mytbl = new html_table();
// General Table properties
$mytbl->width = "450"; // set table width;
$mytbl->cellspacing = 1; // 1 is class's default value
$mytbl->cellpadding = 4; // 4 is class's default value
$mytbl->border = 0; // 0 is class's default value
$mytbl->rowcolor = "#E9E9E9"; // table's rows colors...default is #FFCC99
// Set table's header row
$mytbl->display_header_row = TRUE; // enable the option. Default is FALSE
$mytbl->set_bold_labels = TRUE; // Default is TRUE
$mytbl->set_header_font_color="#000000"; // Default is #000000
$mytbl->set_header_font_face="Tahoma"; // default is Tahoma
$mytbl->set_header_bgcolor ="#FF9933"; // Default if $FFCC33
//Set row event
$mytbl->set_row_event = TRUE; // Default is FALSE
$mytbl->set_row_event_color = "#FF9900"; //Default is #9999FF
// Set table's rows alter colors
$mytbl->set_alter_colors = TRUE; // Default is False
$mytbl->first_alter_color = "#CCCCCC"; // Default is #FFCC99
$mytbl->second_alter_color = "#E9E9E9"; // Default is #FFFFFF
// Add Font Tags in each cell
$mytbl->display_fonts = TRUE; // Default Is FALSE
// Builbing A Table - 3 colums, 5 rows
// 1st row Colspan 3
$myarr[0][0]["colspan"]= 3;
$myarr[0][0]["align"] = "center";
$myarr[0][0]["text"] = "ICL";
$myarr[1][0]["text"]= " ";
$myarr[1][1]["text"]="Qtyout";
$myarr[1][2]["text"]="Yield";
##########embeded table##########################
$inner=new html_table();
$innerarr[0][0]["colspan"]=2;
$innerarr[0][0]["align"]="center";
$innerarr[0][0]["text"]="ICL";
#$innerarr[1][0]["text"]="Qtyin";
#$innerarr[1][1]["text"]="Yield";
$innerhtml=$inner->build_html_table($innerarr);
####################################
// adding rows
for ( $i=2; $i<=25; $i++){
$myarr[$i][0]["width"] = 50;
$myarr[$i][0]["align"] = "right";
$myarr[$i][0]["bgcolor"] = "red";
$myarr[$i][0]["text"] = $i;
$myarr[$i][1]["width"] = 300;
$myarr[$i][1]["align"] = "center";
$myarr[$i][1]["text"] = "<a href=/"#/">Link to Page $i</a>";
$myarr[$i][2]["width"] = 100;
$myarr[$i][2]["align"] = "left";
$myarr[$i][2]["text"] = "$innerhtml";
}
// Building Html from array
$html = $mytbl->build_html_table( $myarr );
?>
<html>
<head><title>HTML TABLE CLASS ::: Example</title></head>
<body>
<center>
<?php
// Echo the table.
echo $html;
?>
相关文章推荐
- 自动生成可以保存数据的HTML
- HTML DOM table标签(对象)中的tbody、thead、tfoot自动生成的小经验
- php数组生成html下拉列表的方法
- 用PHP生成html分页列表的代码
- 用PHP生成html分页列表的代码
- PHP定时自动生成静态HTML的实现代码
- PHP定时自动生成静态HTML的实现代码
- php 根据html table生成excel文件
- PHP静态新闻列表自动生成代码
- php ajax从后台返回json数据,并把数据赋值给自动生成HTML标签
- PHP静态新闻列表自动生成代码
- php数组生成html下拉列表的方法
- php自动生成html新闻文件
- 例子:自动生成可以保存数据的HTML页面
- 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转) 出处:http://www.cnblogs.com/lichenwei/p/4145696.html
- jQuery自动分页打印表格(HTMLtable),可以强制换页
- PHP定时自动生成静态HTML的实现代码
- [jQuery插件开发][dynamicTable2.0]根据JSON数据自动生成HTML Table
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- IntelliJ IDEA Maven Mybatis generator 自动生成代码 MAC系统