phpbar.de logo

Mailinglisten-Archive

[php] templates bei dynamischer Ausgabe nutzen

[php] templates bei dynamischer Ausgabe nutzen

Frank Schnaue php_(at)_phpcenter.de
Tue, 21 Aug 2001 00:30:15 +0200


Hallo liebe Liste,

wie kann ich nachfolgende dynamische Struktur zum Füllen eines select-
feldes aus einer db mit den templates Funktionen der phpLib realisieren?

<Code>
    require("db_mysql.inc.php");
    require("local.inc.php");
    $db = new DB_WAHL;

        $query = "SELECT auswahl_id,auswahl_01 FROM auswahl";
        $query .= " ORDER BY auswahl_id;";
        $db->query($query);

 // mit einer Schleife die select-box aus der Datenbank füllen
while ($db->next_record()) {
        //aktueller Wert der Spalte 'auswahl_id'
              $wert = $db->f('auswahl_id');
        //aktueller Wert der Spalte 'auswahl_id'
              $wert_01 = $db->f('auswahl_01');

   if($wert == $SEL_FELD) {
     $option_block .= "<option value=" .$wert." selected
>".$wert_01."</option>";
   }else{
     $option_block .= "<option value=" .$wert.">".$wert_01."</option>";
   }
}
<Code>

im html wird obenstehendes über
<select name ..........>
<? echo "$option_block"; ?>
</select>
aufgerufen. Funktioniert auch prächtig. Nun möchte ich das gleiche mit
den templates der phpLib umsetzen. Mein bisheriger Versuch:

<Code>
    require("db_mysql.inc.php");
    require("local.inc.php");
    require ("template.inc.php");
    $db = new DB_WAHL;
    $tpl = new Template();
    $tpl-> set_file (array(
                       "hauptseite" => "kopf.html",
                       "feld" => "kopf.html"));
    $tpl-> set_var ("seitentitel","music-database");
    $tpl->parse("out", "hauptseite");

        $query = "SELECT auswahl_id,auswahl_01 FROM auswahl";
        $query .= " ORDER BY auswahl_id;";
        $db->query($query);
             while ($db->next_record()) {
                      $tpl->set_var(array(
                            "wert" => $db->f('auswahl_id'),
                            "wert_01" =>$db->f('auswahl_01')));
             }
            $tpl-> parse ("output", array("feld"));
            $tpl-> p ("output");
<Code>
in der html werden folgende Platzhalter definiert:
<option value="{wert}" selected >{wert_01}</option>

In der Ausgabe bekomme ich ich ein select-Feld, wo das letzte Element
selected ist.
Wie bekomme ich die obrigen Variablen($wert, $wert_01) in diese
Platzhalter-Struktur?
Bin völlig verzweifelt und außerdem sehr müde ...
Frank



php::bar PHP Wiki   -   Listenarchive