Quellcode für Tabelle 4
« zurück zur Ausgabe
PHP-Code
<?php
require_once("pb-tpl.php");
$t = new pb_tpl("templates/tabelle4.tpl");
$data_arr = array();
$tmp_arr = array();
for ($i = 1; $i <=100; $i++) {
$tmp_arr[] = $i;
if ($i % 10 == 0) {
$data_arr[] = $tmp_arr;
$tmp_arr = array(); }
}
$tb_rows_buffer="";
$nr = 0; foreach ($data_arr as $line_arr) {
$tb_row = ""; $cnr=0;
foreach ($line_arr as $val) {
if ($cnr == 0) {
$cclass = ""; } else {
if ($nr == 0) {
$cclass="a"; } else {
$cclass="b"; }
}
$csr = array ('col' => $cclass,
'wert' => $val);
$tb_row .= $t->fill_tpl("cell", $csr);
$cnr++;
if ($cnr == 2) $cnr = 0; }
$sr = array ('nr' => $nr, 'cells' => $tb_row);
$tb_rows_buffer .= $t->fill_tpl("row", $sr);
$nr++;
if ($nr == 2) $nr = 0; }
$se_re['tablerows'] = $tb_rows_buffer;
echo $t->fill_tpl("main", $se_re);
?>
HTML-Template
# Haupttemplate
[main]
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Templatetest</title>
<link rel="stylesheet" href="pb-tpl.css" type="text/css">
<style type="text/css">
<!--
tr.row0 {
color:#000000;
background-color:#FFFFFF;
}
tr.row1 {
color:#000000;
background-color:#EFEFEF;
}
td.cola {
color:#000000;
background-color:#FFFFCC;
}
td.colb {
color:#000000;
background-color:#E1E2A7;
}
-->
</style>
</head>
<body>
<h1>Werte in Tabellenzeile einlesen und ausgeben</h1>
<p><a href="sourcecode/s-tabelle4.html">Quellcode ansehen »</a></p>
<p>Hier werden die Reihen zur besseren Übersicht abwechseln mit weißem und grauem Hintergrund
ausgegeben und außerdem jede zweite Zelle in gelb bzw. graugelb, wenn sie in einer grauen
Zeile liegt.</p>
<p>Das Beispiel soll zeigen, dass man auch für komplizierte Fälle jegliche Logik aus dem
Template heraushalten kann. Ziel ist es, das Template für den Nicht-Programmierer
verständlich zu halten. Um die Wenns und Abers kümmert sich der Programmierer, der stets
vollen Zugriff auf alle Templatschnipsel hat und diese nach Belieben manipulieren kann.</p>
<table border="1">
{TABLEROWS}
</table>
<hr>
<p><a href="tabelle3.php">zurück</a> | <a href="index.html">Index</a> | <a href="tabelle5.php">weiter</a> </p>
</body>
</html>
# In diesen Templates ist jetzt jeweils nur ein Platzhalter auszutauschen
# Template für Tablerows ###############
[row]
<tr class="row{NR}">{CELLS}</tr>
# Template für Zellen
# Die Klasse wird nur jedes zweite Mal geschrieben, sonst bleibt das Attribut leer.
[cell]
<td class="col{COL}">{WERT}</td>
« zurück zur Ausgabe