Mailinglisten-Archive |
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