Jnnbox: Wert aus Dropdownfeld auf selected setzten

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

http://fs2.directupload.net/images/150314/xf84ybfc.jpg

Was mache ich falsch?

  1. Tippfehler (Das Anführungszeichen ist falsch gesetzt); so ist es richtig: <option value="6" selected>Fußball</option> julius

    1. 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

      --
      Warum nennt sich Andreas hier MudGuard? O o ostern ... Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
      1. 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>
        
        
        1. 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

          --
          Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}