relesect eines Items von DB gefüllten Drop-Downs

WiZdooM

Erfahrenes Mitglied
Hallo

Zum Füllen meines DropDown verwende ich folgenden kurzen Ausschnitt PHPCode:
PHP:
      <?php           
      if ($result and mysql_num_rows ($result) > 0)
      {
          while($haendler = mysql_fetch_assoc ($result))
            echo '<option value="'.$haendler['HDNr'].'" >'.$haendler["HDNr"].'</option>'; 
      }
      ?>

Jetzt stehe ich vor der Schwierigkeit, diesem Autofill einen reselect zuzuweisen.
Verwende ich normale Dropdowns, geht das ja so innerhalb des <option>-tags:
PHP:
<?php if($_POST['haendler']==$haendler['HDNr']) echo 'selected="selected"'; ?>

Blöderweise steht ja bereits das Autofill in einem Echo - also innerhalb von Anführungszeichen. AFAIK gibt es nur das doppelte und das einfache Anführungszeichen zur Definition von Strings.

Wie lässt sich denn nun die Wiederauswahl des gesendeten Elements nach dem Post bei einem autogefüllten Drop-Down realisieren ?
 
Zuletzt bearbeitet:
so?

PHP:
<?php           
      if ($result and mysql_num_rows ($result) > 0)
      {
        temp=;
          while($haendler = mysql_fetch_assoc ($result))
            echo '<option value="'.$haendler['HDNr'].'"';
			if($_POST['haendler']==$haendler['HDNr'])
			{
				echo 'selected="selected" >';
			}
			else
			{
				echo '>';
			}
			echo $haendler["HDNr"].'</option>'; 
      }
      ?>
 
Das könnte man meinen. Es wird zwar das Drop-Down gefüllt, jedoch keine Einträge angezeigt.
 
Zuletzt bearbeitet:
PHP:
      if ($result and mysql_num_rows ($result) > 0)
      {
          while($haendler = mysql_fetch_assoc ($result))
          {
            if($_POST['haendler']==$haendler['HDNr']) {
                echo '<option value="'.$haendler['HDNr'].'" selected="selected">'.$haendler["HDNr"].'</option>'; 
            }else {
                echo '<option value="'.$haendler['HDNr'].'">'.$haendler["HDNr"].'</option>'; }
          }
      }
So vielleicht.
 
Zuletzt bearbeitet:
Hi

Das könnte man meinen. Es wird zwar das Drop-Down gefüllt, jedoch keine Einträge angezeigt.
Wie meinst du das denn?
Achja, und ich würde dir noch empfehlen statt and lieber die neure Variante && zu benutzen.
PHP:
$a = 0;
$b = 1;
if( $a == 0 && $b == 1 ) #AND
if( $a == 0 || $b == 0 ) #OR
 
... So vielleicht.

Ja genau so. Tut mir echt wahnsinnig leid, so ne simple Frage gestellt zu haben. Ich hab gestern echt den Wald vor lauter Bäumen nich mehr gesehen!
Wieder einmal danke ich dir 1000 mal !

Hi...
... Achja, und ich würde dir noch empfehlen statt and lieber die neure Variante && zu benutzen.
Äh ja. Danke, Nord-Süd-Richtung. Mir war nicht klar, dass in diesem Kontext "and" und "&&" ein und das selbe Konstrukt sind.
Aber gemeint hab ich das so, wie es Loomes so treffend einfach und logisch gesagt hat. Ich hab nur zu kompliziert gedacht vor Lauter Bäumen im Wald...
 
Zurück