login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geboortedatum selecteren

Offline thyssimonis - 31/03/2005 14:02
Avatar van thyssimonisPHP interesse Ik heb een geboordatum dat je kan invullen via een option dus zoals hier: http://www.site...nu=profiel
Maar als ik datum in datebase zet en wil het later weer wijzigen hoe kan ik dat best doen dat hij de gode datum weer selecteerd!

4 antwoorden

Gesponsorde links
Offline Thomas - 31/03/2005 14:16
Avatar van Thomas Moderator De optie op 'selected="selected"' zetten wanneer dit de goede dag/maand/jaar is. Dit kun je het beste doen met een functie, dat maakt je code wat korter. Voor dag/maand/jaar lijstjes kun je gewoon for-lussen gebruiken:

  1. <?php
  2. /*
  3. selected-functie, controleert of een veld geselecteerd moet worden
  4. */
  5. function selected($input, $value) {
  6. return ($input == $value) ? " selected=\"selected\"" : "";
  7. }
  8.  
  9. /*
  10. deze gegevens komen normaal uit je database
  11. ze zijn hier bedoeld om je "selected-functie" te testen
  12. */
  13. $test_dag = 15;
  14. $test_maand = 5;
  15. $test_jaar = 1979;
  16. ?>
  17. <form action="whatever.php" method="post">
  18. dag <select name="dag">
  19. <?php
  20. for($i=1; $i < 32; $i++) {
  21. ?>
  22. <option value="<?= $i ?>"<?= selected($test_dag, $i) ?>><?= $i ?></option>
  23. <?php
  24. }
  25. ?>
  26. </select>
  27. maand <select name="maand">
  28. <?php
  29. for($i=1; $i < 13; $i++) {
  30. ?>
  31. <option value="<?= $i ?>"<?= selected($test_maand, $i) ?>><?= $i ?></option>
  32. <?php
  33. }
  34. ?>
  35. </select>
  36. jaar <select name="jaar">
  37. <?php
  38. $start_jaar = 1940;
  39. $eind_jaar = 2000;
  40. for($i=$eind_jaar; $i > $start_jaar; $i--) {
  41. ?>
  42. <option value="<?= $i ?>"<?= selected($test_jaar, $i) ?>><?= $i ?></option>
  43. <?php
  44. }
  45. ?>
  46. </select>
  47. </form>


Controles voor schrikkeljaren enzo zul je zelf in moeten bouwen.
Offline thyssimonis - 31/03/2005 14:36
Avatar van thyssimonis PHP interesse Mooi scriptje, maar ik wil graag bij de 1 een 0 er voor! hoe doe ik dat? heb nu dit:

  1. $sdatum = explode("-",$list['geboortedatum']);
  2. function selected($input, $value) {
  3. return ($input == $value) ? " selected=\"selected\"" : "";
  4. }
  5.  
  6. .........
  7.  
  8. <select name="dag">';
  9. for($i=1; $i < 32; $i++) {
  10. echo '<option value="'.$i.'" '.selected($sdatum[0], $i).'>'.$i.'</option>';
  11. }
  12. echo '</select><select name="maand">';
  13. for($i=1; $i < 13; $i++) {
  14. echo '<option value="'.$i.'" '.selected($sdatum[1], $i).'>'.$i.'</option>';
  15. }
  16. echo '</select><select name="jaar">';
  17. $start_jaar = 1940;
  18. $eind_jaar = 2000;
  19. for($i=$eind_jaar; $i > $start_jaar; $i--) {
  20. echo '<option value="'.$i.'" '.selected($sdatum[2], $i).'>'.$i.'</option>';
  21. }
  22. echo '</select>
  23.  
  24. ......
Offline Thomas - 31/03/2005 14:39 (laatste wijziging 31/03/2005 14:39)
Avatar van Thomas Moderator Functie ? 

  1. <?php
  2. /*
  3. Adds a Leading Zero if necessary
  4. */
  5. function alz($nr) {
  6. return ($nr < 10) ? "0".$nr : $nr;
  7. }
  8. ?>


En die voeg je dan toe aan de dag en maand:
  1. <option ...><?= alz($i) ?></option>
Offline thyssimonis - 31/03/2005 14:43
Avatar van thyssimonis PHP interesse Harstike bedankt hij doet het nou perfect;-)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.377s