Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML] generowanie wartości
krzychu0808
post 30.07.2008, 12:46:02
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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. .......................................


Ten post edytował krzychu0808 30.07.2008, 12:46:31
Go to the top of the page
+Quote Post
nospor
post 30.07.2008, 12:48:35
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 13:27:23
Post #3





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
kornel-php
post 30.07.2008, 13:29:22
Post #4





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if($i < 10) { // wyświetl 0 i dopiero wartość }
  3. ?>


--------------------
:)
Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 13:32:31
Post #5





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


można jaśniej może ktoś to wkomponować w mój kod proszę
Go to the top of the page
+Quote Post
kornel-php
post 30.07.2008, 13:36:49
Post #6





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

Ostrzeżenie: (0%)
-----


  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. ?>


Ten post edytował kornel-php 30.07.2008, 13:37:10


--------------------
:)
Go to the top of the page
+Quote Post
acztery
post 30.07.2008, 13:41:19
Post #7





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


nie każdy miesiać ma 31 dni....
Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 13:46:16
Post #8





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
kornel-php
post 30.07.2008, 13:59:37
Post #9





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

Ostrzeżenie: (0%)
-----


  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. ?>


--------------------
:)
Go to the top of the page
+Quote Post
lucca
post 30.07.2008, 14:08:48
Post #10





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

Ostrzeżenie: (0%)
-----


Jak powiedział nospor, nie lepiej skorzystać z gotowego rozwiązania?

Tutaj masz date picker oparty na jquery.

Link
Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 16:58:42
Post #11





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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. ?>
Go to the top of the page
+Quote Post
ddiceman
post 30.07.2008, 17:24:38
Post #12





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  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. ?>
Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 20:26:23
Post #13





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
ddiceman
post 30.07.2008, 20:59:27
Post #14





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
krzychu0808
post 30.07.2008, 21:09:35
Post #15





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


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. ?>


Ten post edytował krzychu0808 30.07.2008, 21:14:35
Go to the top of the page
+Quote Post
nospor
post 31.07.2008, 06:12:48
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
PUPI
post 31.07.2008, 06:33:09
Post #17





Grupa: Zarejestrowani
Postów: 69
Pomógł: 5
Dołączył: 6.02.2004
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 09:30