Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML] Formularze pole data
nowy16
post 16.09.2010, 19:34:14
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 29.08.2009

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


Witajcie. Mam pewien problem. Zrobiłem formularz na stronie w, którym trzeba podać datę godzinę. Oczywiście teraz to wygląda tak, że jest pole input i napis jak trzeba napisać tę datę. Jak zrobić oddzielnie listę rozwijaną dla dzień, miesiąc, rok aby po zaznaczeniu data została zapisana do jednej rubryce tabeli ?
Go to the top of the page
+Quote Post
AlexDeLarge
post 16.09.2010, 19:55:45
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


  1. $sql = "INSERT INTO tabela (`data`) VALUES ( '{$_POST['rok']}-{$_POST['miesiac']}-{$_POST['dzien']} {$_POST['godzina']}:{$_POST['minuta']}')";


Ten post edytował AlexDeLarge 16.09.2010, 19:56:28


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post
celbarowicz
post 16.09.2010, 20:14:49
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


  1. <html>
  2. <head>
  3.  
  4. <script language="javascript" type="text/javascript">
  5.  
  6.  
  7.  
  8. function resmies(){ document.getElementById('miesiac').value='';
  9. document.getElementById('dzien').value=''; }
  10.  
  11.  
  12.  
  13.  
  14. function dlugim(mm) { r=document.getElementById('rok').value;
  15.  
  16. dd=0;
  17. if ((r%4)==0){dd=1;}
  18.  
  19. if ((mm==01)||(mm==03)||(mm==05)||(mm==07)||(mm==08)||(mm==10)||(mm==12)){dn=31;document.getElementById('dzien').length=31;
  20.  
  21. document.getElementById('dzien').options['28'].value=29;
  22. document.getElementById('dzien').options['28'].text=29;
  23.  
  24. document.getElementById('dzien').options['29'].value=30;
  25. document.getElementById('dzien').options['29'].text=30;
  26.  
  27. document.getElementById('dzien').options['30'].value=31;
  28. document.getElementById('dzien').options['30'].text=31;
  29.  
  30.  
  31. }
  32. if ((mm==02)&&(dd===1)) {dn=29;document.getElementById('dzien').length=dn; document.getElementById('dzien').options['28'].value=29;
  33. document.getElementById('dzien').options['28'].text=29;
  34.  
  35.  
  36.  
  37.  
  38. }
  39. if ((mm==02)&&(dd!==1)) {dn=28;document.getElementById('dzien').length=dn;}
  40.  
  41.  
  42. if ((mm==04)||(mm==06)||(mm==09)||(mm==11)){dn=30;document.getElementById('dzien').length=30;
  43. document.getElementById('dzien').options['28'].value=29;
  44. document.getElementById('dzien').options['28'].text=29;
  45.  
  46. document.getElementById('dzien').options['29'].value=30;
  47. document.getElementById('dzien').options['29'].text=30;
  48.  
  49.  
  50.  
  51. }
  52. }
  53.  
  54. function pobierzdate(){ r=document.getElementById('rok').value;
  55. m=document.getElementById('miesiac').value;
  56. dz=document.getElementById('dzien').value;
  57. if (dz.length==1) {dz="0"+dz;}
  58. dat=r+"-"+m+"-"+dz;
  59. alert (dat);
  60.  
  61. }
  62. </script>
  63.  
  64. </head>
  65.  
  66. <body>
  67.  
  68. <SELECT name="rok" size="1"onchange="resmies();" >
  69. <option value="2009">2009</option>
  70. <option value="2010">2010</option>
  71. <option value="2011">2011</option>
  72. <option value="2012">2012</option>
  73. <option value="2013">2013</option>
  74. <option value="2014">2014</option>
  75. <option value="2015">2015</option>
  76. <select>
  77.  
  78. <SELECT name="miesiac" size="1" onchange="dlugim(this.value);">
  79. <option name="m1" value="01">01</option>
  80. <option name="m2" value="02">02</option>
  81. <option name="m3" value="03">03</option>
  82. <option name="m4" value="04">04</option>
  83. <option name="m5" value="05">05</option>
  84. <option name="m6" value="06">06</option>
  85. <option name="m7" value="07">07</option>
  86. <option name="m8" value="08">08</option>
  87. <option name="m9" value="09">09</option>
  88. <option name="m10" value="10">10</option>
  89. <option name="m11" value="11">11</option>
  90. <option name="m12" value="12">12</option>
  91.  
  92. <select>
  93. <SELECT name="dzien" size="1" value=""> <?PHP
  94. $dm=31;
  95. FOR ($ild=1;$ild<=$dm;$ild++) {
  96. if($ild<10) {$ild_zero="0";$ild_zero.=$ild;}else{$ild_zero=$ild;}
  97.  
  98. print("<option value=\"$ild_zero\">$ild_zero\n");
  99. }
  100.  
  101. ?>
  102.  
  103. <select>
  104.  
  105.  
  106. <br>
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. </body>
  115. </html>
  116.  
  117.  
  118.  
  119.  
Go to the top of the page
+Quote Post
krispak
post 16.09.2010, 20:31:04
Post #4





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Nie lepiej zaimplementowac np cos takiego..


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
sadistic_son
post 16.09.2010, 23:06:37
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Ale po co tyle kombinacji?
  1. echo'<select name="year">';
  2. for($y=1980;$y<=2010;$y++){ //petla tworzaca lata
  3. echo '<option value="'$y.'">'.$y.'</option>';
  4. }
  5. echo '</select> - ';
  6. echo'<select name="month">';
  7. for($m=0;$m<=12;my++){ //petla tworzaca miesiace
  8. echo '<option value="'$m.'">'.$m.'</option>';
  9. }
  10. echo '</select> - ';
  11. echo'<select name="day">';
  12. for($d=0;$d<=31;$d++){ //petla tworzaca dni
  13. echo '<option value="'$d.'">'.$d.'</option>';
  14. }
  15. echo '</select>';
Tak samo robisz z godzinami i minutami. Zczytanie z post i wpisanie do bazy wyglada tak:
  1. $date_time=$_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'].' '.$_POST['hour'].':'.$_POST['minute'];
  2.  
  3. $sql="INSERT INTO tabela VALUES('".$date_time."')";



--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
celbarowicz
post 17.09.2010, 08:28:19
Post #6





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


sadistic_son ,a gdzie walidacja?
Czyli luty zawsze może mieć 31 dni bez względu czy rok jest przestępny czy nie?
Wszystkie pozostałe miesiące też po 31?
Klient może wpisywać do bazy złe dane?
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: 14.08.2025 - 13:07