Location: PHPKode > scripts > Table Maker > table-maker/TableMakerAdvanced.php
<?php
/*
TableMakerStyle.php

An example of using a style sheet with the TableMaker PHP class
*/
// Edit $includeLib so that it points to the library where TableMaker.inc is stored
$includeLib = '../PhpInclude/';

require_once ($includeLib . 'HTMLTagMaker.inc');
require_once ($includeLib . 'TableMaker.inc');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
	<TITLE>TableMaker style sheet example</TITLE>

	<STYLE type="text/css">
          .captionStyle  {
           	font-weight : bold;
           	text-align : left;
           }
           
          .trEven  {
          	/* Rows with even numbers */
          	color : Black;
          	background-color : White;
          }
          
          .trUneven  {
          	/* Rows with uneven numbers */
          	background-color : Yellow;
          	color : Black;
          }
          
          .trSummary  {
          	/* Row containing summary data */
          	font-weight : bold;
          }
          
          .tdName  {
		  	/* Table data cells containing names */
          	padding-right : 16;
          }
          
          .tdFigure  {
          	/* Table data cell with figures */
          	text-align : right;
          }
          
          </style>
</HEAD>

<BODY>
<H1>TableMaker style sheet example</H1>
<?php
// Define an array of data. This could be data read from a database
$population = array (
					array('Country' => 'Austria', 'Pop' => 8.121),
					array('Country' => 'Belgium', 'Pop' => 10.262),
					array('Country' => 'Denmark', 'Pop' => 5.349),
					array('Country' => 'Finland', 'Pop' => 5.181),
					array('Country' => 'France', 'Pop' => 59.521),
					array('Country' => 'Germany', 'Pop' => 82.193),
					array('Country' => 'Greece', 'Pop' => 10.565),
					array('Country' => 'Ireland', 'Pop' => 3.82),
					array('Country' => 'Italy', 'Pop' => 57.844),
					array('Country' => 'Luxemburg', 'Pop' => 0.441),
					array('Country' => 'Netherlands', 'Pop' => 15.983),
					array('Country' => 'Portugal', 'Pop' => 10.023),
					array('Country' => 'Spain', 'Pop' => 39.49),
					array('Country' => 'Sweden', 'Pop' => 8.883),
					array('Country' => 'United Kingdom', 'Pop' => 59.832),
				);
$dec = 2; // Decimals in population figures

// Create new table
$euPopTable = new TableMaker();

// Define elements with class attributes
$euPopTable -> defineRow ('trEven', array('class' => 'trEven'));
$euPopTable -> defineRow ('trUneven', array('class' => 'trUneven'));
$euPopTable -> defineDataCell ('tdFigure', array('class' => 'tdFigure'));
$euPopTable -> defineDataCell ('tdName', array('class' => 'tdName'));

// Add a caption
$euPopTable -> addCaption ('Population of the EU countries in millions (2001):',
							array('class' => 'captionStyle'));

// Place a horizontal ruler above the first row
$euPopTable -> addRow();
$euPopTable -> addData('<hr>', 'ruler', array('colspan' => 2));

// Add contents of the data array
$totalPop = 0; // Keep count of total population
$rowClass = '';
$j = sizeof($population);
for ($i = 0; $i < $j; $i++) {
	$rowClass = ($i % 2 == 0) ? 'trEven' : 'trUneven';
	$euPopTable -> addRow($rowClass);
	$euPopTable -> addData($population[$i]['Country'], 'tdName');
	$euPopTable -> addData(number_format($population[$i]['Pop'], $dec), 'tdFigure');
	$totalPop += $population[$i]['Pop'];
}

// Add a horizontal ruler below the table body
$euPopTable -> addRow();
$euPopTable -> addData('<hr>', 'ruler');

// Print the total population
$euPopTable -> addRow('default', array('class' => 'trSummary'));
$euPopTable -> addData('Total population', 'tdName');
$euPopTable -> addData(number_format($totalPop, $dec), 'tdFigure');

// Finally, write the table
$euPopTable -> writeTable();
?>
<P>Source: Eurostat</P>
</BODY>
</HTML>
Return current item: Table Maker