login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Dropdown selected

Offline skillat - 27/10/2005 14:45 (laatste wijziging 27/10/2005 14:46)
Avatar van skillatOnbekend Dit is het edit formulier, waar je dingen kan weizigen etc.
Alleen wil ik dat de dropdown optie uit de database gehaald word en geselecteerd.
Ik heb een groot deel van de code eruit geknipt, omdat het onoverzichtelijk is en het toch niet over mijn vraag gaat.

Land in de mysql database staat bijv. be wat dan be selected moet worden.

  1. <?php
  2. $res = mysql_query("SELECT pid, datum, land, enemy, scorestatus, score, matchtype, competition, landcompetition FROM wars");
  3. while ($obj = mysql_fetch_object($res)) {
  4. ?>


  1. <select size="1" name="land">
  2. <option selected value="<? echo $obj->land ?>"></option>
  3. <option value="nl">nl</option>
  4. <option value="be">be</option>
  5. <option value="eu">eu</option>
  6. <option value="uk">uk</option>
  7. <option value="fi">fi</option>
  8. <option value="se">se</option>
  9. <option value="no">no</option>
  10. <option value="de">de</option>
  11. <option value="pl">pl</option>
  12. </select>

6 antwoorden

Gesponsorde links
Offline Ontani - 27/10/2005 14:47 (laatste wijziging 27/10/2005 14:47)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
<option value="be" selected="selected">be</option>
Offline Lemon - 27/10/2005 14:52
Avatar van Lemon PHP expert maak een functie of een loop die je droplist opbouwd. Dus al die afkortingen worden dan aangemaakt via een array die doorlopen wordt.

Vervolgens controleer je per iteratie of dat je db waarde overeen komt met de ge-itereerde waarde in je loop.

Zoja => zet er selected="selected" bij.
Zonee => zet er geen selected="selected" bij.
Offline skillat - 27/10/2005 14:59 (laatste wijziging 27/10/2005 15:29)
Avatar van skillat Onbekend hmm ok, bedankt. lets try

edit: gelukt, gewoon met if-else en er was al een while lus die heb ik gewoon gebruikt (die werd eerst eerder afgebroken).

Voor de copy pasters de code 
  1. <select size="1" name="land">
  2. <?php
  3. if($obj->land == 'nl') { echo "<option value='nl' selected='selected'>nl</option> "; }
  4. else { echo "<option value='nl'>nl</option>"; }
  5. if($obj->land == 'be') { echo "<option value='be' selected='selected'>be</option> "; }
  6. else { echo "<option value='be'>be</option>"; }
  7. if($obj->land == 'eu') { echo "<option value='eu' selected='selected'>eu</option> "; }
  8. else { echo "<option value='eu'>eu</option>"; }
  9. if($obj->land == 'uk') { echo "<option value='uk' selected='selected'>uk</option> "; }
  10. else { echo "<option value='uk'>uk</option>"; }
  11. if($obj->land == 'fi') { echo "<option value='fi' selected='selected'>fi</option> "; }
  12. else { echo "<option value='fi'>fi</option>"; }
  13. if($obj->land == 'se') { echo "<option value='se' selected='selected'>se</option> "; }
  14. else { echo "<option value='se'>se</option>"; }
  15. if($obj->land == 'no') { echo "<option value='no' selected='selected'>no</option> "; }
  16. else { echo "<option value='no'>no</option>"; }
  17. if($obj->land == 'de') { echo "<option value='de' selected='selected'>de</option> "; }
  18. else { echo "<option value='de'>de</option>"; }
  19. if($obj->land == 'pl') { echo "<option value='pl' selected='selected'>pl</option> "; }
  20. else { echo "<option value='pl'>pl</option>"; }
  21. ?>
  22. </select>
Offline Gerard - 27/10/2005 16:03 (laatste wijziging 27/10/2005 16:05)
Avatar van Gerard Ouwe rakker
  1. <?php
  2. function buildOptions($sDatabaseInput, $aArrayInput) {
  3.  
  4. for ($i=0; $i < count($aArrayInput); $i++) {
  5.  
  6. if ($sDatabaseInput == $aArrayInput[$i]) {
  7.  
  8. $sSelected = ' selected="selected"';
  9.  
  10. } else {
  11.  
  12. $sSelected = '';
  13.  
  14. }
  15.  
  16. $sReturnValue .= '<option value="'.$aArrayInput[$i].'"'.$sSelected.'>'.$aArrayInput[$i].'</option>'."\n";
  17.  
  18. }
  19.  
  20. return $sReturnValue;
  21.  
  22. }
  23. ?>
  24.  
  25. <select>
  26. <?= buildOptions('be', array('be', 'nl', 'de')); ?>
  27. </select>
Offline RdR - 28/10/2005 02:14
Avatar van RdR PHP interesse
  1. <select size="1" name="land">
  2. <option value="nl" <? if($obj->land == "nl"){ echo"selected=\"selected\"";} ?>>NL</option>
  3. <option value="be" <? if($obj->land == "be"){ echo"selected=\"selected\"";} ?>>be</option>
  4. <option value="eu" <? if($obj->land == "eu"){ echo"selected=\"selected\"";} ?>>eu</option>
  5. <option value="uk" <? if($obj->land == "uk"){ echo"selected=\"selected\"";} ?>>uk</option>
  6. <option value="fi" <? if($obj->land == "nl"){ echo"selected=\"selected\"";} ?>>fi</option>
  7. <option value="se" <? if($obj->land == "se"){ echo"selected=\"selected\"";} ?>>se</option>
  8. <option value="no" <? if($obj->land == "no"){ echo"selected=\"selected\"";} ?>>no</option>
  9. <option value="de" <? if($obj->land == "de"){ echo"selected=\"selected\"";} ?>>de</option>
  10. <option value="pl" <? if($obj->land == "pl"){ echo"selected=\"selected\"";} ?>>pl</option>
  11. </select>
Offline Thomas - 28/10/2005 09:00 (laatste wijziging 28/10/2005 09:02)
Avatar van Thomas Moderator Gebruik PHP:

  1. function selected($a, $b) {
  2. return ($a == $b) ? " selected=\"selected\"" : "";
  3. }


Of, wanneer je een template-engine gebruikt (want dan zou je een template-var moeten schrijven voor elke optie die je wenst te selecteren), gebruik JavaScript (aanroepen nadat je je menu hebt opgebouwd/afgedrukt):

  1. function select_value(frm, elt, val) {
  2. var selected = false;
  3. var i = 0;
  4. while(!selected && i < document.forms[frm].elements[elt].length) {
  5. if(document.forms[frm].elements[elt].options[i].value == val) {
  6. document.forms[frm].elements[elt].options[i].selected = true;
  7. selected = true;
  8. }
  9. i++;
  10. }
  11. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.231s