Christoper: Schleife und Select Feld

Einen wunderscönen guten Tag,

Ich habe ein Formualar bei dem per Select ein Wert ausgewählt wird. Daruafhin wird das Formular und alle entsprechenden Felder die sonst noch existieren vorbelegt.

Allerdings wird in dem select Feld wieder das erste Element ausgesucht und vorbelegt.

Wenn das Formular nun abgespeichert wird, enhält es also immer den ersten Wert.

Das Problem liegt daran, dass in den options kein selected vergeben wird. Doch wie mach ich das am geschicktesten.

Es geht um diesen Teil:
echo "<td><select class="select" name="setTonFormatID" onchange="this.form.submit()">";
sql = "SELECT * FROM $myDB->TON";
if ( $_SESSION['UserRechte'] == 600 )
$sql .= " ORDER BY Name";
$rs = $myDB->go($sql);
while( $row = $myDB->getRow($rs) )
echo "<option value="{$row['TonID']}">{$row['Name']}</option>";
echo "</select></td>";

Ich habe es schon mit einem if Statement innerhalb der while Schleife versucht, aber das hat nicht so recht funktioniert.

Weiß jemand noch einen Rat ?

Besten dank im vorraus

  1. Natürlich mit einer if-Verzweigung.

    while( $row = $myDB->getRow($rs) )
    echo "<option value="{$row['TonID']}";"
     if($row['TonID']===$richtiger_wert) {
      echo " selected="selected"";
     }
    echo ">{$row['Name']}</option>";
    echo "</select></td>";
    }

    1. Natürlich mit einer if-Verzweigung.

      while( $row = $myDB->getRow($rs) )
      echo "<option value="{$row['TonID']}";"
      if($row['TonID']===$richtiger_wert) {
        echo " selected="selected"";
      }
      echo ">{$row['Name']}</option>";
      echo "</select></td>";
      }

      ah besten dank,....

      ich hatte es fast genauso mit 2 gleichheitszeichen !!!

      macht das einen Unterschied ?? Und wenn ja worin besteht der Unterschied ?

      1. Zwei Gleichheitszeichen vergleichen den Wert, drei gleichheitszeichen Wert und Datentyp. Ist in dem Fall aber eigentlich egal.