Dieter Raber: Frage an die Meister

Beitrag lesen

Hallo Berti2,

Du hast ja den selectierten Wert in $_POST oder sowas. Sagen wir, der Besucher hat vorher in der Selectbox 'meineBox' den Wert 'meinWert' ausgewaehlt. Dann steht ja in $_POST['meineBox'] = 'meinWert'.  Sobald du $_POST hast, sagst du:
if(!empty($_POST['meineBox']))
{
  $selectierterWert = $_POST['meineBox'];
}
else
{
  $selectierterWert = '';
}
oder eleganter
$selectierterWert = !empty($_POST['meineBox']) ? $_POST['meineBox'] : '';

In der while-Schleife kommt ja auch irgendwann 'meinWert' aus der Datenbank an, sagen wir aus dem Feld 'meinFeld'. Dann kannst Du das in der Schleife vergleichen und sagen
while($data ...
{
  if($data['meinFeld'] == $selectierterWert)
  {
    $selected = ' selected="selected"';
  }
  else
  {
    $selected = ' selected="selected"';
  }
  // $selected enthaelt jetzt bei einem Treffer den String ' selected="selected"'
  // ansonsten ist es leer
  // Dann befuellst Du die Variable $options wie gehabt
  $options .= '<option value="' . $data['meinFeld'] . '"' . $selected . '>....
  // $options enthaelt jetzt entweder
  // <option value="foo"> oder <option value="foo" selected="selected">

Diese Loesung beruecksichtigt nicht, dass 'meinFeld' leer sein koennte und in diesem Fall kein Treffer gewollt ist, aber ich bin sicher, dass kriegst Du auch noch hin.

Gruß,

Dieter