Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Vorselektiertes Element im Dropdown

Ich habe eine Dropdownliste. Ich möchte nun beim Laden des Formulars ein Element der Liste vorselktieren, das Element was mir die Datenbankabfrage zurückliefert. so ein value= gibt es anscheinend nicht in dem ag, wie kann man das realiesieren? Ist sicherlich einfach, nur ich komme nicht daruaf.


[PHP]
<?php
echo "<select name=site>";
while($row = mysql_fetch_object($site_erg))
{
echo "<option value='$row->site'>$row->site</option>";
}
echo "</select>";
?>
[/PHP]

Hier gehts zum Orginal Eintrag "Vorselektiertes Element im Dropdown" im Forum

Antworten

Das hat aber doch mit PHP nichts zu tun, siehe http://selfhtml.teamone.de/html/formulare/auswahl.htm#listen_vorselektiert

*** Nobody ***


2.

Grundsätzlich musst Du bei denjenigen Elementen, die vorselektiert sein sollen, das (leere) selected-Attrribut mit angeben.


3.

Hmm naja 50/50 mit PHP und HTML
Da ich eine Schleife verwende, kann ich ja nicht direkt auf einzelne Elemente zugreifen. Nach Definition von SelfHTML muss ich
...Um einen Eintrag der Auswahlliste vorzuselektieren, geben Sie im einleitenden <option>-Tag des betreffenden Eintrags das Attribut selected an...

Ich habe leider keinen einleitenden option Tag, wie mache ich das nun konkret in meinem Fall?


4.

Zitat:
AlexD1979 postete
Ich habe leider keinen einleitenden option Tag, wie mache ich das nun konkret in meinem Fall?
Nicht???? Und was ist das echo "<option value .........

Sieh' Dir das bitte auf SelfHTML an.

*** Nobody ***


5.

Zitat:
AlexD1979 postete
Ich habe leider keinen einleitenden option Tag, ...
Und wie nennst Du das hier (Zitat aus Deinem eigenen Quelltext)?
Code:                   In Zwischenablage kopieren (nur IE)
1">

;-)


6.

Definiere doch ein $selected, das beim gewünschten Wert "selected" ist, ansonsten leer.
So in etwa:
$selected= ($id == 'Wert aus Deiner DB-Abfrage')?"selected":"";

Und in die Liste schreibst Du dann immer $selected
So halt:
echo "<option value='$id' $selected>$bezeichnung</option>\n";

Und beim entsprechenden $id ist dann vorselektiert.

Das ganze musste jetzt natürlich mit Deinen Variablenbezeichnungen machen.


7.

@ak
Hmm, das ist innerhalb einer Schleife, wenn ich es dort eintragen würde, wäre es ja für jeden Durchlauf der Schleife gültig!

@Swiftnick
Deine Lösung scheint logisch zu sein, werde ich gleich mal ausprobieren. Vielen Dank!


8.

Das klappt immer noch nicht so wirklich, irgendwo ist ein Denkfehler!
[PHP]

echo "<select name=site>";
while($row = mysql_fetch_object($site_erg))
{
$selected = ($row->site == echo $data[SITE] )?"selected":"";
echo "<option value='$row->site' $selected>$row->site</option>";
}
echo "</select>";

[/PHP]

Original Quellcode an der Stelle
[PHP]

echo "<select name=site>";
while($row = mysql_fetch_object($site_erg))
{
echo "<option value='$row->site'>$row->site</option>";
}
echo "</select>";

[/PHP]


9.

Zitat:
[PHP]

echo "<select name=site>";
while($row = mysql_fetch_object($site_erg))
{
$selected = ($row->site == $data[SITE] )?"selected":""; //echo an der Stelle weg
echo "<option value='$row->site' $selected>$row->site</option>";
}
echo "</select>";

[/PHP]


Also erstmal kann das eine echo weg. Und in $data[SITE] steht wirklich der gewünschte Wert drin?
Ansonsten mache ich es eigentlich genauso.


10.

Der feine Unterschied macht die Musik *G*
In §selected ist die SITE groß geschrieben, der Wert wird aber als site kleingeschrieben zurückgeliefert!
Alles klar jetzt!

P.S.: PHP ist in manchen Dingen schon pingeliger als Java *hmpf*


Hier gehts zum Orginal Eintrag "Vorselektiertes Element im Dropdown" im Forum
 
phpforum.de | Impressum | Handy Bundles