login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geselecteerde (maand) onthouden in selectbox (Opgelost)

Offline Ruultje - 04/03/2011 08:32
Avatar van RuultjeNieuw lid 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
Offline vinTage - 04/03/2011 09:03
Avatar van vinTage Nieuw lid
  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>
Offline Ruultje - 04/03/2011 09:36
Avatar van Ruultje Nieuw lid 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-2024 Sitemasters.be - Regels - Laadtijd: 0.186s