vLIB Workshop: Kapitel 9
Kapitel 9 ist hauptsächlich eine Zusammenfassung des Wissens der vorhergehenden Kapitel. Neu ist jedoch die Information über die Variablen (Typ Boolean) "__ODD__", "__EVEN__", die in jedem LOOP geführt werden. Diese "GLOBAL_CONTEXT_VARS" sind eine mächtige Option in vlibTemplate und sollte unbedingt in LOOPS genutzt werden: verschiedene Farben, ersten Datensatz anders behandeln, etc.
GLOBAL_CONTEXT_VARS
vLIB-Workshop Aufgabe 13
Kapitel 9 lesen und die einzelnen Code-Blöcke so zusammenfügen, dass sie mit der vLIB-Beispiel-Datenbank laufen. Das Skript dann mal mit verschiedenen SELECT's testen.
vLIB-Workshop Aufgabe 14
Hinweis: Schwere Aufgabe. Erstellt ein Skript, das folgendes ausgibt:
Daten plus INPUT Box
WICHTIG: Die INPUT Box soll dynamisch genereriert werden => egal ob bei 5 oder 20 Datensätzen in der DB.
vLIB-Workshop Aufgabe 15
Hinweis: Schwere Aufgabe. Erstellt eine Datenbank, die ein 1-N Beziehung enthält. Beispiel:
Tabelle Users:
- Gone (mit ID: 1)
- Claus (mit ID: 2)
Tabelle Posts:
- Gone hat 3 Posts (Post1: "Hallo Leute! ...", "Das ist nicht ..." etc.)
- Claus hat 4 Posts
Diese Struktur soll über einen Gruppenwechsel mit vlibTemplate ausgegeben werden. Hier ein Gruppenwechsel ohne vlibTemplate:
<?php include "db_config.php"; $connect = mysql_connect($db_host, $db_user, $db_pw); $select_posts = "SELECT p_id, p_post, p_u_id FROM gb_posts ORDER BY p_u_id"; $select_users = "SELECT u_id, u_name FROM gb_users ORDER BY u_id"; $result_posts = mysql_db_query($db_name, $select_posts, $connect); $result_users = mysql_db_query($db_name, $select_users, $connect); $row_posts = mysql_fetch_array($result_posts); while ($row_users = mysql_fetch_array($result_users)) { echo "<b>User: $row_users[u_id] - $row_users[u_name]"; while ($row_posts[p_u_id] == $row_users[u_id]) { $eintrag = substr($row_posts[p_post], 0, 15); echo "p_id: $row_posts[p_id] - $eintrag"; $row_posts = mysql_fetch_array($result_posts); } } ?>
Der oben dargestellte Gruppenwechsel arbeitet ohne Tabelle (nur mit " "). Das zu erstellende Template soll eine Tabelle enthalten so wie:
Ein Gruppenwechsel für die Features von PHD
Überschrift (<h1>): User
Tabelle: Die einzelnen Posts des Users