robotto7831a Geschrieben 29. August 2004 Geschrieben 29. August 2004 Hallo zusammen, ich beschäftige mich jetzt endlich auch mal mit Templates in PHP. Ein einfaches Beispiel habe ich schon hier gefunden. Jetzt suche ich aber noch ein Tutorial wo aus einer DB mehrere Zeilen ausgelesen werden. Kennt jemand so ein Tutorial? Frank Zitieren
kLeiner_HobBes Geschrieben 30. August 2004 Geschrieben 30. August 2004 Ich nehme an, du möchtest einfach mehrere Zeilen aus ner DB auslesen und diese dann innerhalb eines Templates ausgeben. Dafür würde ich das IT-Template-System von PEAR verwenden. Darin kannst du nämlich bestimmte Blocks definieren (auch verschachtelt): <table> <tr> <th>Name</th> <th>Vorname</th> <th>Alter</th> </tr> <!-- BEGIN Person --> <tr> <td>{name}</td> <td>{vorname}</td> <td>{alter}</td> </tr> <!-- END Person --> </table> Wie du siehst, sind es nicht Prozentzeichen, sondern geschweifte Klammern, die die Variablen deklarieren. Im PHP-Script lädst, füllst und zeigst du dein Template wie folgt: $tpl = new IntegratedTemplate('.'); $tpl->LoadTemplateFile('beispiel.html'); $h = mysql_query("SELECT * FROM personen") or die(); while ($result = mysql_fetchrow($h)) { $tpl->setCurrentBlock("Person"); $tpl->setVariable("name",$result[1]); $tpl->setVariable("vorname",$result[2]); $tpl->setVariable("alter",$result[3]); $tpl->parseCurrentBlock(); //Damit wird dieser Block mit //den gerade gesetzten Variablen //einmal geschrieben. } $tpl->show(); [/PHP] Ich hoffe, das hilft. Zitieren
kills Geschrieben 30. August 2004 Geschrieben 30. August 2004 ich kann dir nur empfehlen dich mit der template engine von http://smarty.php.net vertraut zu machen! supportfragen dazu gibts in dem eigens dafür angelegten forum Zitieren
robotto7831a Geschrieben 30. August 2004 Autor Geschrieben 30. August 2004 Danke für die Tips. Ich werde es mal probieren. Frank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.