Wert aus Dropdownfeld auf selected setzten
Jnnbox
- php
0 j5c50 MudGuard0 Danke!
Jnnbo0 Auge
Hallo,
kann sein ich habe etwas den Überblick verloren. Mein PHP Code sieht folgendermaßen aus:
<label for="kategorie">Kategorie</label>
<select name="kategorie" id="kategorie">
<option value="" <?php if(!isset($_GET['projekteID'])) {echo "selected=\"selected\"";}?> disabled>-- Bitte wählen</option>
<?php
$kategorien = kategorien($mysqli);
foreach($kategorien as $array){ ?>
<option value="<?php echo $array['k_id']; echo ( $p_kategorie == $array['k_id'] ? "selected" : ""); ?>"><?php echo $array['k_titel'];?></option>
<?php } ?>
</select>
Mit diesem Code lese ich meine Kategorien aus, klappt auch. Wenn ich nun meine Seite bearbeiten möchte, steht in der URL anlegen?projekteID=1 Ich möchte nun den Wert direkt in meinem Dropdown angezeigt bekommen der auch in der Datenbank steht. Derzeit wird einfach nur der erste genommen.
Mein HTML das ausgegeben wird, sieht so aus:
<select name="kategorie" id="kategorie">
<option value="" disabled>-- Bitte wählen</option>
<option value="4 ">Basketball</option>
<option value="6 selected">Fußball</option>
</select>
Das "selected" wird richtig gesetzt nur
Was mache ich falsch?
Tippfehler (Das Anführungszeichen ist falsch gesetzt); so ist es richtig:
<option value="6" selected>Fußball</option>
julius
Hi,
Tippfehler (Das Anführungszeichen ist falsch gesetzt); so ist es richtig:
<option value="6" selected>Fußball</option>
Dann mußt Du ja jetzt nur noch den PHP-Code so anpassen, daß er auch das richtige ausgibt.
Beim geposteten Code <option value="<?php echo $array['k_id']; echo ( $p_kategorie == $array['k_id'] ? "selected" : ""); ?>"><?php echo $array['k_titel'];?></option>
werden die Anführungszeichen so gesetzt, wie Du es zuerst gepostet hast.
cu, Andreas
Hallo,
danke euch beide, hab den Fehler nun gesehen und verbessert. Mein Code sieht nun so aus:
<option value="<?php echo $array['k_id']; ?>" <?php echo ($p_kategorie == $array['k_id'] ? "selected" : "");?>><?php echo $array['k_titel'];?></option>
Hallo
danke euch beide, hab den Fehler nun gesehen und verbessert. Mein Code sieht nun so aus:
> <option value="<?php echo $array['k_id']; ?>" <?php echo ($p_kategorie == $array['k_id'] ? "selected" : "");?>><?php echo $array['k_titel'];?></option>
>
Der Kosmetik wegen könnte man nun noch das Leerzeichen von „selected“ abhängig machen, weil es sonst ja nicht gebraucht wird. Das ist, wenn du das nicht an hunderten Stellen verwendest und damit relevanten und unnötigen Traffic erzeugst, aber wirklich nur Kosmetik.
<option value="<?php echo $array['k_id']; ?>"<?php echo ($p_kategorie == $array['k_id'] ? " selected" : "");?>><?php echo $array['k_titel'];?></option>
Tschö, Auge