TinyButStrong (TBS) |
![]() |
Ich verwende TBS Blöcke sehr oft für Datenbankausgaben. Legen Sie bitte eine beliebige DB + Tabelle an, welche die Spalten:
enthält. Wir wollen in unserem Beispiel drei der Spalten in eine Tabelle ausgeben und das Datum ("birthday") mit Hilfe von "setlocale" und TBS in deutscher Formatierung ausgeben.
require_once 'tbs/tbs_class.php';
setlocale(LC_TIME, 'german');
$tmpl = new clsTinyButStrong;
$tmpl->LoadTemplate('tmpl/db.htm');
// DATABASE variables and query
require_once 'db_config.php';
mysql_connect($db_host, $db_user, $db_pw);
mysql_select_db($db_name);
$select = "SELECT name, birthday, city FROM $db_table";
$tmpl->MergeBlock('table_data', 'mysql', $select);
$tmpl->Show(TBS_OUTPUT);
mysql_close();
In der Datei "db_config.php" stehen alle Datenbankvariablen. Sie werden gebraucht, um die Datensätze aus der Datenbank zu extrahieren. Die Funktionsweise von
können Sie auf php.net oder im quakenet:#php Tutorial nachlesen.
<body>
<table border="1" width="70%" summary="MySQL data in a table using TBS and MERGEBLOCK">
<caption>MySQL data in a table using TBS and MERGEBLOCK</caption>
<thead>
<tr>
<th align="left">name</th>
<th align="left">birthday</th>
<th align="left">city</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top">[table_data.name;block=tr]</td>
<td valign="top">[table_data.birthday;frm='dddd, dd. mmmm yyyy';locale]</td>
<td valign="top">[table_data.city]</td>
</tr>
</tbody>
</table>
</body>
Der Block "table_data" wird mit "block=tr" an den HTML-Tag "<tr>" gebunden. Damit weiß TBS, wo der Block beginnt und endet. Der Block wird so oft wiederholt, wie es Datensätze in der MySQL Datenbank gibt.
Wie man "[table_data.birthday ...]" sehen kann, wird die Datumsformatierung im Template verankert. Der (Template)Parameter "frm" (Format) beinhaltet ein beliebiges Datumsformat, das dann mit dem Parameter "locale" zum Beispiel in "Freitag, 23. September 2005" verwandelt wird. Der der Template Parameter "locale" funktioniert nur, wenn im PHP-Skript "setlocale(LC_TIME, 'german')" gesetzt wurde. In der variablen Datumsformatierung liegt eine der größten Stärken von TBS. Weder Smarty noch vlibTemplate besitzen dieses Feature.