Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Formularz do wprowadzania daty
iwi1
post 15.09.2009, 22:48:47
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.11.2007

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


Witam.
Jak zrobić formularz, aby data zawsze była wprowadzana w jednakowy sposób, żeby później przekazać do MySQLa.
  1. <form action="dodano.php" method="post">
  2. Data zapłaty [RRRR-MM-DD]:<br />
  3. <input type="text" name="Data" /><br />
  4. Kwota:<br />
  5. <input type="text" name="Kwota" /><br />
  6. Opis:<br />
  7. <div><textarea name="Opis" rows="1" cols="125">wpisz opis operacji...</textarea></div><br />
  8. <input type="submit" value="dodaj" />
  9. </form>


W ten sposób można wprowadzić datę nawet 2009-22-45 (z tym ze do MySQL zapiszą się zera, ale ten formularz go przyjmie.
Fajnie gdyby po wpisaniu 4 cyfr automatycznie wskoczylaby kreska rozdzielajaca rok od miesiaca
albo moze macie jakies gotowe rozwiazania z pobieraniem przez kalendarz z JAVASkryptu
Go to the top of the page
+Quote Post
Rymar
post 15.09.2009, 22:59:44
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 18.09.2008

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


jeżeli chciałbyś z js to masz np. w jQuery datepicker LINK, można dostosować sposób wyświetlania daty do swoich potrzeb, zawsze możesz zrobić trzy pola select z dniem, miesiącem i rokiem i przy zapisie do bazy dawać ' - ' tam gdzie trzeba
Go to the top of the page
+Quote Post
Robert1985
post 15.09.2009, 23:20:07
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 7
Dołączył: 5.08.2009
Skąd: Tychy

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


A nie lepiej zrobić to jak na wielu stronach comboboxami np:?
  1. <form action="skrypt.php" method="POST">
  2.  
  3. <select name="rok">
  4. <option value = "2000">2000
  5. <option value = "2001">2001
  6. <option value = "2002">2002
  7. <option value = "2003">2003
  8. <option value = "2004">2004
  9. <option value = "2005">2005
  10. <option value = "2006">2006
  11. <option value = "2007">2007
  12. <option value = "2008">2008
  13. <option value = "2009">2009
  14. <option value = "2010">2010
  15. <option value = "2011">2011
  16. </select>
  17.  
  18. <select name="miesiac">
  19. <option value="01">styczeń
  20. <option value="02">luty
  21. <option value="03">marzec
  22. <option value="04">kwiecień
  23. <option value="05">maj
  24. <option value="06">czerwiec
  25. <option value="07">lipiec
  26. <option value="08">sierpień
  27. <option value="09">wrzesień
  28. <option value="10">październik
  29. <option value="11">listopad
  30. <option value="12">grudzień
  31. </select>
  32.  
  33. <select name="dzien">
  34. <option value="01">01
  35. <option value="02">02
  36. <option value="03">03
  37. <option value="04">04
  38. <option value="05">05
  39. <option value="06">06
  40. <option value="07">07
  41. <option value="08">08
  42. <option value="09">09
  43. <option value="10">10
  44. <option value="11">11
  45. <option value="12">12
  46. <option value="13">13
  47. <option value="14">14
  48. <option value="15">15
  49. <option value="16">16
  50. <option value="17">17
  51. <option value="18">18
  52. <option value="19">19
  53. <option value="20">20
  54. <option value="21">21
  55. <option value="22">22
  56. <option value="23">23
  57. <option value="24">24
  58. <option value="25">25
  59. <option value="26">26
  60. <option value="27">27
  61. <option value="28">28
  62. <option value="29">29
  63. <option value="30">30
  64. <option value="31">31
  65. </select>
  66. <input type="submit" value="Data" />
  67. </form>


i skrypt:
  1. $rok = $_POST['rok'];
  2. $miesiac = $_POST['miesiac'];
  3. $dzien = $_POST['dzien'];
  4.  
  5. $data_for_sql = $rok . "-" . $miesiac . "-" . $dzien;
  6. echo $data_for_sql;


Ten post edytował Robert1985 16.09.2009, 00:15:34


--------------------
"Istnieją dwa sposoby projektowania oprogramowania. Można napisać je tak prosto, że w oczywisty sposób nie będzie w nim niedoskonałości; można też uczynić je tak skomplikowanym ,że nie będzie w nim żadnych oczywistych niedociągnięć.Pierwsza metoda jest znacznie trudniejsza." C.A.R Hoare
Go to the top of the page
+Quote Post
iwi1
post 18.09.2009, 22:34:29
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.11.2007

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


dzięki wielkie - o coś takiego mi chodziło. Już zaimplementowałem i pozmieniałem dane i działa.
Zastanawiam się jeszcze jak to zrobić, żeby obok pojawił się przycisk "USTAW DZISIEJSZĄ DATĘ" ale pewnie tym sposobem się nie da.
Go to the top of the page
+Quote Post
Magic Hereos
post 18.09.2009, 22:37:37
Post #5





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 5.02.2009
Skąd: home/magic/

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


Zrób na dole "Wyślij z dzisiejszą datą" + jako wartość hidden i w skrypcie dodaj if($_POST['dzisiejsza'] == 1), pobierz datę, oraz wyślij do mysql.
Go to the top of the page
+Quote Post
Robert1985
post 18.09.2009, 23:21:17
Post #6





Grupa: Zarejestrowani
Postów: 84
Pomógł: 7
Dołączył: 5.08.2009
Skąd: Tychy

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


Zamiast takiego rozwiązania można również zrobić tak, nie dodaje się wtedy dodatkowego guzika. Oczywiście proponowałbym wygenerować całość PHP za pomocą pętli ,ale to już twoja broszka.
  1. <form action="skrypt.php" method="POST">
  2.  
  3. <select name="rok">
  4. <optgroup label="Dziś">
  5. <option selected="selected" value = "<?php echo date(Y) ?>"><?php echo date(Y) ?>
  6. </optgroup>
  7. <optgroup label=" Nie Dziś">
  8. <option value = "2000">2000
  9. <option value = "2001">2001
  10. <option value = "2002">2002
  11. <option value = "2003">2003
  12. <option value = "2004">2004
  13. <option value = "2005">2005
  14. <option value = "2006">2006
  15. <option value = "2007">2007
  16. <option value = "2008">2008
  17. <option value = "2009">2009
  18. <option value = "2010">2010
  19. <option value = "2011">2011
  20. </optgroup>
  21. </select>
  22.  
  23. <select name="miesiac">
  24. <optgroup label="Dziś">
  25. <option selected="selected" value = "<?php echo date(m) ?>"><?php echo date(m) ?>
  26. </optgroup>
  27. <optgroup label=" Nie Dziś">
  28. <option value="01">01
  29. <option value="02">02
  30. <option value="03">03
  31. <option value="04">04
  32. <option value="05">05
  33. <option value="06">06
  34. <option value="07">07
  35. <option value="08">08
  36. <option value="09">09
  37. <option value="10">10
  38. <option value="11">11
  39. <option value="12">12
  40. </optgroup>
  41. </select>
  42.  
  43. <select name="dzien">
  44. <optgroup label="Dziś">
  45. <option selected="selected" value = "<?php echo date(d) ?>"><?php echo date(d) ?>
  46. </optgroup>
  47. <optgroup label=" Nie Dziś">
  48. <option value="01">01
  49. <option value="02">02
  50. <option value="03">03
  51. <option value="04">04
  52. <option value="05">05
  53. <option value="06">06
  54. <option value="07">07
  55. <option value="08">08
  56. <option value="09">09
  57. <option value="10">10
  58. <option value="11">11
  59. <option value="12">12
  60. <option value="13">13
  61. <option value="14">14
  62. <option value="15">15
  63. <option value="16">16
  64. <option value="17">17
  65. <option value="18">18
  66. <option value="19">19
  67. <option value="20">20
  68. <option value="21">21
  69. <option value="22">22
  70. <option value="23">23
  71. <option value="24">24
  72. <option value="25">25
  73. <option value="26">26
  74. <option value="27">27
  75. <option value="28">28
  76. <option value="29">29
  77. <option value="30">30
  78. <option value="31">31
  79. </optgroup>
  80. </select>
  81. <input type="submit" value="Data" />
  82. </form>


--------------------
"Istnieją dwa sposoby projektowania oprogramowania. Można napisać je tak prosto, że w oczywisty sposób nie będzie w nim niedoskonałości; można też uczynić je tak skomplikowanym ,że nie będzie w nim żadnych oczywistych niedociągnięć.Pierwsza metoda jest znacznie trudniejsza." C.A.R Hoare
Go to the top of the page
+Quote Post
iwi1
post 19.09.2009, 23:39:49
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.11.2007

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


Cytat(Robert1985 @ 19.09.2009, 00:21:17 ) *
Oczywiście proponowałbym wygenerować całość PHP za pomocą pętli ,ale to już twoja broszka.

a moge wiedziec po co? - czy po to żeby np nie zrobić 31 lutego?
Tak ladnie dziala - bardzo dziękuję za pomoc.
Go to the top of the page
+Quote Post
skowron-line
post 20.09.2009, 06:38:57
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(iwi1 @ 19.09.2009, 22:39:49 ) *
a moge wiedziec po co? - czy po to żeby np nie zrobić 31 lutego?

A jak będziesz musiał lata od 1900 - 2009 pokazać to też wszystko z palca będzie questionmark.gif i jak w takiej sytuacji jak teraz zrobisz zaznaczenie konkretnej daty questionmark.gif


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
cojack
post 20.09.2009, 07:48:10
Post #9





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

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


Proste jak budowa cepa, tak jak pisali wyżej dobrym sposobem jest select, how to &%$@ make it? it's very simple how simple it is is so simple simple simple bit haha.gif

  1. $od_roku = '1900';
  2. $do_roku = '2007';
  3.  
  4. for ($od_roku; $i <= $do_roku; $od_roku++) {
  5. echo '<option>' . $od_roku . '</option>'; // value w option używamy jeżeli ma być inne niż anchor
  6. }
  7.  
  8. $b = cal_info(0);
  9. foreach ($b["months"] as $k => $v){
  10. echo '<option value=' . $k .'>' . $v . '</option>';
  11. }
  12.  
  13. // a teraz dni
  14.  
  15. for ($i = 1; $i <= 31; $i++) {
  16. echo '<option>' . $i . '</option>';
  17. }


A teraz zwyczajnie sprawdźmy czy dni pasują do miesięcy:

  1. $days = cal_days_in_month(CAL_GREGORIAN, $_POST['months'], $_POST['year']);
  2. if(!in_array((int)$_POST['day'],$days))
  3. die('Die bitches!');


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
matyslubin
post 3.09.2010, 18:13:06
Post #10





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 3.09.2010

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


Witam w tym skrypcie jest jakiś błąd. Mianowicie lata lecą od 1900 do nieskończoności. Nie wiem czy to tylko u mnie tak wygląda questionmark.gif Jestem początkujący więc nie wiem jak to poprawić. Z góry dzięki za wszelką pomoc. smile.gif


  1.  
  2. $od_roku = '1900';
  3. $do_roku = '2007';
  4.  
  5. for ($od_roku; $i <= $do_roku; $od_roku++) {
  6. echo '<option>' . $od_roku . '</option>'; // value w option używamy jeżeli ma być inne niż anchor
  7. }
  8.  



Jus sobie poradziłem, tak myślałem ze to pierdoła winksmiley.jpg ... wstydnis.gif
Powinno być:
  1. $od_roku = '1900';
  2. $do_roku = '2010';
  3.  
  4. for ($od_roku; $od_roku <= $do_roku; $od_roku++) {
  5. echo '<option>' . $od_roku . '</option>'; // value w option używamy jeżeli ma być inne niż anchor
  6. }
  7.  


Ten post edytował matyslubin 3.09.2010, 18:28:45
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: 19.06.2025 - 00:42