Select-Listen dynamisch selectieren

Trash

Erfahrenes Mitglied
Wenn ihr so etwas dynamisches Aufbaut: Ihr habt ein Select Feld mit Options drin, die Oprions soll man per Script hinzufügen können, wenn man nun den Datensatz editiert soll die Option die inner DB steht auch selected sein...doch wie generiere ich das dynamisch, dass es ausgwählt is ? also es muss ja automatisch gehen...Ich hab es so probiert:

Code:
<?php
$anfrage = mysql_query("SELECT id, advs_titel, advs_url, advs_banner, advs_art FROM $tab_advs WHERE id = $id"); 
echo "<font face=\"$font\" size=\"$size\" color=\"$color\">Datensatz ändern:</font>";
while ($ergebnis = mysql_fetch_array($anfrage)) { 
$selected = $ergebnis[4];
function DrawSelectList($list = array(), $selected)
{
global $done;
foreach($list as $element)
{
if($element == $selected)
$done .= '<option value="'.$element.'" selected>'.$element.'</option>';
else
$done .= '<option value="'.$element.'">'.$element.'</option>';
}
}
echo "<form action=\"index2.php?site=advs_edit2&id=$id\" method=\"post\">";
echo "Art:<td><td><select name=\"art\">$done</select></td></tr>";

echo "</form>";
}; 

?>

Nur das funzt nicht, da er nur ein Leeres Optionsfeld ausgibt und er liesst ja nur 1 Wert aus. Bitte um Hilfe :)

Danke !
 
du willst ja sicherlich alle datensätze auslesen, wenn ich dich richtig verstanden hab, drum muss du eine abrage schleife machen, wie z.b. :


PHP:
$sql= sql anweisung;
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
while ($row = mysql_fetch_row($result)) {
    echo $row['optionsfeld'];
    
    }
 
Du musst die Funktion noch aufrufen.
Du hast sie zwar deklariert aber nicht aufgerufen.

PHP:
<?php
$anfrage = mysql_query("SELECT id, advs_titel, advs_url, advs_banner, advs_art FROM $tab_advs WHERE id = $id");
echo "<font face=\"$font\" size=\"$size\" color=\"$color\">Datensatz ändern:</font>";

$ergebnis = mysql_fetch_array($anfrage);
$selected = $ergebnis[4];

function DrawSelectList($list = array(), $selected)
{
  global $done;
  foreach($list as $element)
  {
    if($element == $selected)
      $done .= '<option value="'.$element.'" selected>'.$element.'</option>';
    else
      $done .= '<option value="'.$element.'">'.$element.'</option>';
  }
}

$anfrage = mysql_query("SELECT id, advs_titel, advs_url, advs_banner, advs_art FROM $tab_advs");
while ($ergebnis = mysql_fetch_array($anfrage))
{
  $entries[] = $ergebnis[4];
}

DrawSelectList($entries,$selected);

echo "<form action=\"index2.php?site=advs_edit2&id=$id\" method=\"post\">";
echo "Art:<td><td><select name=\"art\">$done</select></td></tr>";

echo "</form>";
?>

Damit muesste es klappen :)
 
Zurück