Quellcode für Tabelle 5

« zurück zur Ausgabe

PHP-Code


<?php
//Tabellenzellen verketten und Zeilentrenner zwischenschalten
//Mit der Methode set_lbr_options() lässt sich die Generierung von Tabellen in
//vielen Fällen wesentlich erleichtern.

require_once("pb-tpl.php");
$t = new pb_tpl("templates/tabelle5.tpl");
//Array für das Main-Template vorbereiten
$se_re=array();
$se_re['ueberschrift'] = "Tabelle mit linebreak-Methode generieren";

// Dummy-Werte definieren
$tr_werte= array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);

// Im Template "cell" wird der Wert in <td>{W}</td> geschrieben.
$td_search = "w";
// Prinzip:
// Alle Zellen werden miteinander verkettet.
// Anhand eines übergebenen Parameters berechnet das Skript, wo
// ein Zeilenumbruch-Pattern eingefügt wird:
// In unserem Beispiel Template sieht die entspechende Stelle so aus
//  [lbr]
//  </tr><tr>

//Beispiel 1 (gefüllte Tabelle)
//Für das Template "cell" wird als Zeilentrenner das Template "lbr" (linebreak)
//benannt. (Der Name ist frei wählbar.)
//Dieser Zeilentrenner wird nach dem 4. Wert eingefügt. In diesem Fall ergibt sich
//bei 16 Werten eine volle Tabelle.
$t->set_lbr_options ('cell','lbr', 4);
$se_re['tablerows1'] = $t->fill_rowtpl('cell', $td_search, $tr_werte);

//Beispiel 2 (Tabelle mit fehlenden Zellen)
// In diesem Beispiel werden 6 Zellen pro Reihe geschrieben.
// Es fehlen 2 Zellen in der dritten Reihe
$t->set_lbr_options ('cell','lbr', 6);
$se_re['tablerows2'] = $t->fill_rowtpl('cell', $td_search, $tr_werte);

//Beispiel 3 (mit Ergänzung fehlender Zellen)
//Will man fehlende Zellen (oder andere Elemente) auffüllen, kann man ein drittes
//Template benennen, das nur dann aktiv wird, wenn es benötig wird.
//Der Eintrag in unserer Template-Datei sieht so aus:
// [empty]
// <td>&nbsp;</td>
// Auch hier ist der Name des Templates frei wählbar.
$t->set_lbr_options ('cell','lbr', 6, 'empty');
$se_re['tablerows3'] = $t->fill_rowtpl('cell', $td_search, $tr_werte);
//Ausgabe:
echo $t->fill_tpl("main", $se_re);
?>


HTML-Template


# Haupttemplate
[main]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Templatetest</title>
<link rel="stylesheet" href="pb-tpl.css" type="text/css">
</head>

<body>
<h1>{UEBERSCHRIFT} </h1>
<p><a href="sourcecode/s-tabelle5.html">Quellcode ansehen &raquo;</a></p>
<p>Eine andere Möglichkeit, eine Tabelle oder eine ähnliche gleichförmige Struktur,
unabhängig vom Umfang, schnell zu generieren, wird hier gezeigt.<br>
Verwendet wird die Methode <b>set_lbr_options()</b> vor der Methode
<b>fill_rowtpl()</b>.
Bitte die Kommentare im Quelltext studieren!</p>

<h3>Beispiel 1: Die Anzahl der Werte passt lückenlos in die Tabelle</h3>
<table border="1"><tr>
{TABLEROWS1}
</tr></table>

<h3>Beispiel 2: Es sind zu wenig Zellen vorhanden, um die Tabelle zu füllen.</h3>
<table border="1"><tr>
{TABLEROWS2}
</tr></table>

<h3>Beispiel 3: Fehlende Werte werden automatisch durch ein Leerelement gefüllt.</h3>

<table border="1"><tr>
{TABLEROWS3}
</tr></table>

<hr>
<p><a href="tabelle4.php">zurück</a> | <a href="index.html">Index</a> | <a href="advanced1.php">weiter</a> </p>

</body>
</html>
#######
[cell]
<td>{W}</td>
[lbr]
</tr><tr>
[empty]
<td>&nbsp;</td>

« zurück zur Ausgabe