login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Geselecteerde (maand) onthouden in selectbox (Opgelost)

Ruultje – 04/03/2011 08:32
Ik heb een selectbox waarin maanden staan. Hij moet automatisch staan op de huidige maand. Wanneer er echter gekozen is voor een andere maand dan moet deze onthouden blijven. Dat gaat allemaal wel goed. Maar wanneer ik een maand eerder pak dan de huidige dan springt hij altijd terug naar de huidige maand.

Dus: pak ik bijvoorbeeld mei dan blijft de selectbox op mei staan. Maar pak ik dan februari dan springt hij terug naar maart (in de url wordt wel de maand februari weergegeven.

Wat ik doe ik hierin fout?

  1. <?php
  2. $maanden = array(
  3. 1 => "January",
  4. 2 => "February",
  5. 3 => "March",
  6. 4 => "April",
  7. 5 => "May",
  8. 6 => "June",
  9. 7 => "July",
  10. 8 => "August",
  11. 9 => "September",
  12. 10 => "October",
  13. 11 => "November",
  14. 12 => "December"
  15. );
  16.  
  17.  
  18.  
  19. $months = range (01, 12);
  20. echo "<span class='datachoice'>Month:</span><select name='month' id='period' class='month'>";
  21.  
  22. foreach ($months as $month) {
  23.  
  24. $selected = $month == date("m") ? 'selected="selected"' : '';
  25.  
  26. if(isset($_GET['month']) && $_GET['month'] == $month) {
  27. // geslecteerd
  28. echo '<option value = '. sprintf('%02d', $month) .' selected="selected" >'. $maanden[$month] .'</option>';
  29. } else {
  30. // huidige maand
  31. echo '<option value = '.sprintf('%02d', $month).' '.$selected.'>'. $maanden[$month] .'</option>';
  32. }
  33. }
  34. echo "</select>";
  35. ?>


2 antwoorden

Gesponsorde links

vinTage – 04/03/2011 09:03
  1. <select name='month' id='period' class='month'>
  2. <?php
  3. $maanden = array(
  4. 1 => "January",
  5. 2 => "February",
  6. 3 => "March",
  7. 4 => "April",
  8. 5 => "May",
  9. 6 => "June",
  10. 7 => "July",
  11. 8 => "August",
  12. 9 => "September",
  13. 10 => "October",
  14. 11 => "November",
  15. 12 => "December"
  16. );
  17.  
  18.  
  19.  
  20. $months = range (01, 12);
  21.  
  22. $active_month = isset($_GET['month']) ? $_GET['month'] : date("m");
  23.  
  24. foreach ($months as $month)
  25. {
  26. $select = sprintf('%02d', $month) == $active_month ? ' selected="selected"' : '';
  27. ?>
  28. <option value="<?php echo sprintf('%02d', $month)?>"<?php echo $select?>><?php echo $maanden[$month]?></option>
  29. <?php
  30. }
  31. ?>
  32. </select>


Ruultje – 04/03/2011 09:36
Bedankt deze werkt. Ik had al geprobeerd met een elseif maar dit werkte ook niet. Deze werkt, super!

Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.083s