Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] generowanie wartości
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam....
Chciałbym aby w formularzy gdzie mam dzień i rok automatycznie mi się generowały pola dla <select> dzień ro od 1 do 31 a dla rok od podanej daty do daty
bo nie będę chyba robił tak:
  1. <select name="rok>
  2. <option value=1890>1890</option>
  3. <option value=1891>1891</option>
  4. <option value=1892>1892</option>
  5. <option value=1893>1893</option>
  6. .......................................
nospor
no a for nie mozesz uzyc?
http://pl.php.net/manual/pl/control-structures.for.php

Kolejna sprawa: moze lepiej uzyj kalendarza js, ktorych jest masa w sieci?
krzychu0808
mam problem z dniem zrobiłem
  1. <?php
  2. echo '<select name="dzien" onKeyUp="CheckDigits(this)">';
  3. for ($i=01; $i<=31; $i++) {
  4. $sel = '';
  5. if ($dzien == $i) {$sel=' selected ';}
  6. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  7. }
  8. echo '</select>';
  9. ?>

ale wyświetla mi w formie 1,2,3....9..10...31 a chce 01,02,03...09...10...31
kornel-php
  1. <?php
  2. if($i < 10) { // wyświetl 0 i dopiero wartość }
  3. ?>
krzychu0808
można jaśniej może ktoś to wkomponować w mój kod proszę
kornel-php
  1. <?php
  2. echo '<select name="dzien" onKeyUp="CheckDigits(this)">';
  3. for ($i=01; $i<=31; $i++) {
  4. $sel = '';
  5. if ($dzien == $i) {$sel=' selected ';}
  6. if($i < 10) { echo '<option value="0'.$i.'" '.$sel.' >0'.$i.'</option>'; }
  7. else { echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>'; }
  8. }
  9. echo '</select>';
  10. ?>
acztery
nie każdy miesiać ma 31 dni....
krzychu0808
a jeszcze jedno
  1. <?php
  2. for ($i=1950; $i<=2008; $i++) {
  3. $sel = '';
  4. if ($dzien == $i) {$sel=' selected ';}
  5. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  6. }
  7. ?>

i wyświetla lata od 1950 do 2008 a ja chcę od 2008 do 1950
kornel-php
  1. <?php
  2. for ($i=2008; $i>=1950; $i--) {
  3. $sel = '';
  4. if ($dzien == $i) {$sel=' selected ';}
  5. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  6. }
  7. ?>
lucca
Jak powiedział nospor, nie lepiej skorzystać z gotowego rozwiązania?

Tutaj masz date picker oparty na jquery.

Link
krzychu0808
jak zrobić żeby jakaś data byłą domyślna w tym...
bo w formularzu robie obsługę błędów i jak ktoś nie wpisze np loginu to za pomocą sesji robie żeby się formularz nie resetował ale nie umiem zrobić żeby się daty się nie resetowały próbowałem value ale w select nie działa....
dzień-miesiąć-rok
  1. <?php
  2. echo '<select name="dzien" value="'.$_SESSION['dzien'].'" onKeyUp="CheckDigits(this)">';
  3. for ($i=01; $i<=31; $i++) {
  4. $sel = '';
  5. if ($dzien == $i) {$sel=' selected ';}
  6. if($i < 10) { echo '<option value="0'.$i.'" '.$sel.' >0'.$i.'</option>'; }
  7. else { echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>'; }
  8. }
  9. echo '</select>';
  10. echo '
  11. -
  12. <select name="miesiac" value="'.$_SESSION['miesiac'].'" onKeyUp="CheckDigits(this)">
  13. <option value=01>Styczeń</option>
  14. <option value=02>Luty</option>
  15. <option value=03>Marzec</option>
  16. <option value=04>Kwiecień</option>
  17. <option value=05>Maj</option>
  18. <option value=06>Czerwiec</option>
  19. <option value=07>Lipiec</option>
  20. <option value=08>Sierpień</option>
  21. <option value=09>Wrzesień</option>
  22. <option value=10>Październik</option>
  23. <option value=11>Listopad</option>
  24. <option value=12>Grudzień</option>
  25. </select>
  26. - ';
  27.  
  28. echo '<select name="rok" value="'.$_SESSION['rok'].'" onKeyUp="CheckDigits(this)">';
  29. for ($i=2008; $i>=1950; $i--) {
  30. $sel = '';
  31. if ($dzien == $i) {$sel=' selected ';}
  32. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  33. }
  34. echo '</select><br/>';
  35. ?>


bo w zwykłym input robię:
  1. <?php
  2. echo '<B>Login:</b><BR><input type="text" name="userid" value="'.$_SESSION['userid'].'"><br/>';
  3. ?>
ddiceman
  1. <?php
  2. echo '<select name="dzien" value="'.$_SESSION['dzien'].'" onKeyUp="CheckDigits(this)">';
  3. for ($i=01; $i<=31; $i++) {
  4. $sel = '';
  5. if ($dzien == $i) {$sel=' selected ';}
  6. if($i < 10) { echo '<option value="0'.$i.'" '.$sel.' >0'.$i.'</option>'; }
  7. else { echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>'; }
  8. }
  9. echo '</select>';
  10.  
  11. $miesiace = array(
  12. '01' => 'Styczeń',
  13. '02' => 'Luty',
  14. '03' => 'Marzec',
  15. '04' => 'Kwiecień',
  16. '05' => 'Maj',
  17. '06' => 'Czerwiec',
  18. '07' => 'Lipiec',
  19. '08' => 'Sierpień',
  20. '09' => 'Wrzesień',
  21. '10' => 'Pazdziernik',
  22. '11' => 'Listopad',
  23. '12' => 'Grudzień' 
  24. );
  25.  
  26. echo '
  27. -
  28. <select name="miesiac" value="'.$_SESSION['miesiac'].'" onKeyUp="CheckDigits(this)">';
  29. foreach($miesiace as $nr => $miesiac){
  30. if($_SESSION['miesiac'] == $nr)
  31. echo('<option value="'.$nr.'" selected="selected">'.$miesiac.'</option>';
  32. else
  33. echo('<option value="'.$nr.'">'.$miesiac.'</option>';
  34. }
  35. echo '</select>
  36. - ';
  37.  
  38. echo '<select name="rok" value="'.$_SESSION['rok'].'" onKeyUp="CheckDigits(this)">';
  39. for ($i=2008; $i>=1950; $i--) {
  40. $sel = '';
  41. if ($dzien == $i) {$sel=' selected ';}
  42. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  43. }
  44. echo '</select><br/>';
  45. ?>
krzychu0808
Nie działa to co mi napisałeś wyrzucało mi błąd w linijce

  1. <?php
  2. echo('<option value="'.$nr.'" selected="selected">'.$miesiac.'</option>';
  3. else
  4. echo('<option value="'.$nr.'">'.$miesiac.'</option>';
  5. ?>


poprawiłem na

  1. <?php
  2. echo'<option value="'.$nr.'" selected="selected">'.$miesiac.'</option>';
  3. else
  4. echo'<option value="'.$nr.'">'.$miesiac.'</option>';
  5. ?>

ale nie działa
ddiceman
a na pewno trzymasz te wartosci w $_SESSION a nie np. w post?
  1. <?php
  2. echo '<select name="dzien" value="'.$_POST['dzien'].'" onKeyUp="CheckDigits(this)">';
  3. for ($i=01; $i<=31; $i++) {
  4. $sel = '';
  5. if ($dzien == $i) {$sel=' selected ';}
  6. if($i < 10) { echo '<option value="0'.$i.'" '.$sel.' >0'.$i.'</option>'; }
  7. else { echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>'; }
  8. }
  9. echo '</select>';
  10.  
  11. $miesiace = array(
  12. '01' => 'Styczeń',
  13. '02' => 'Luty',
  14. '03' => 'Marzec',
  15. '04' => 'Kwiecień',
  16. '05' => 'Maj',
  17. '06' => 'Czerwiec',
  18. '07' => 'Lipiec',
  19. '08' => 'Sierpień',
  20. '09' => 'Wrzesień',
  21. '10' => 'Pazdziernik',
  22. '11' => 'Listopad',
  23. '12' => 'Grudzień' 
  24. );
  25.  
  26. echo '
  27. -
  28. <select name="miesiac" onKeyUp="CheckDigits(this)">';
  29. foreach($miesiace as $nr => &$miesiac){
  30. if($_POST['miesiac'] == $nr)
  31. echo('<option value="'.$nr.'" selected="selected">'.$miesiac.'</option>');
  32. else
  33. echo('<option value="'.$nr.'">'.$miesiac.'</option>');
  34. }
  35. echo '</select>
  36. - ';
  37.  
  38. echo '<select name="rok" value="'.$_POST['rok'].'" onKeyUp="CheckDigits(this)">';
  39. for ($i=2008; $i>=1950; $i--) {
  40. $sel = '';
  41. if ($dzien == $i) {$sel=' selected ';}
  42. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  43. }
  44. echo '</select><br/>';
  45. ?>
krzychu0808
Ok już działa trzeba było zmienić w linijce 41 z if ($dzien == $i) {$sel=' selected ';} na if ($rok== $i) {$sel=' selected ';}


dzień i miesiąc działa ale rok się resetuje a trzymam je tak :
  1. <?php
  2. $_SESSION['username']=$_POST['username'];
  3. $_SESSION['userpassword']=$_POST['userpassword'];
  4. $_SESSION['userid']=$_POST['userid'];;
  5. $_SESSION['dzien']=$_POST['dzien'];
  6. $_SESSION['miesiac']=$_POST['miesiac'];
  7. $_SESSION['rok']=$_POST['rok'];
  8. $_SESSION['opis']=$_POST['opis'];
  9. $_SESSION['usergg']=$_POST['usergg'];
  10. $_SESSION['sex']=$_POST['sex'];
  11. ?>
nospor
Cytat
ale rok się resetuje a trzymam je tak
nie wiem jak wyswietlasz rok, ale kolega w poscie wczesniej przy roku napisal tak:
if ($dzien == $i) {$sel=' selected ';}
ma prawo sie resetowac smile.gif
mam nadzieje ze nie kopiowales bez analizy.
PUPI
Cytat(krzychu0808 @ 30.07.2008, 22:09:35 ) *
Ok już działa trzeba było zmienić w linijce 41 z if ($dzien == $i) {$sel=' selected ';} na if ($rok== $i) {$sel=' selected ';}
dzień i miesiąc działa ale rok się resetuje


Jeśli nie masz włączonego register_globals to powinieneś użyć tablicy $_SESSION lub $_POST zamiast zmiennej $rok.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.