Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html]formularz z bierzaca data (do wyboru)
Forum PHP.pl > Forum > Przedszkole
andy84
Hej Jestem w trakcie pisania skryptu do obslugi zapisu danych z formularza ( pewnie nic nowego ) - rejestracja uzytkownika w agencji pracy. Jednak potrzebuje dostawic date ktora uzytkownik sobie wybierze kedy mogl by zaczynac prace, gdzie wybor wygladal by tak
  1. <select name="select"></select> / <select name="select"></select> / <select name="select"></select>
  2. </label>


Po koleji dzien / miesic / rok - teraz wstawiam pokoleji trzy takie wpisy ze pierwszy bedzie mial 31x option dla numerow dni miesiaca, drugi bedzie mial 12 option dla miesiecy i trzeci by mial zdeklarowane np 5 lat od 2007 do 2012 teraz tylko uzytkownik sie logoje i ja ustawiam np domysle wyswietlanie dzisiaj 3 / 2 / 2007 i to fajnie wyglada

jednak wejdzie tu user za rok i wcisnie submit to ja zobacze ze jego wpis byl zrobiony wlasnie rok temu jezeli zapomnial by zmienic date na obecna

Szukam metody jak mogl by mi formularz ustawiac ciagle bierzaca date wiec takich pomylek by nie bylo
a mimo wszystko jezeli uzytkownik by sie zapomnial to rekordy pokaza cos sensowniejszego - kiedy uzytkownik sie zarejestrowal - bierzaco a nie glupote jaka byl by rok w stecz,

Dzieki za pomoc ja ide dalej googlowac na ten temat
Lee
użyj funkcji data() i explode() potem tylko odpowiednio skonstruuj <select> i powinno działać np. ładuje się dzień od 1 do dzisiejszy-1, potem dzisiejszy i dalej dzisiejszy+1 do 31 czy, który tam, może być problem z np. lutym ale to się da wyeliminować
Cienki1980
Cytat(Lee @ 4.03.2007, 00:17:45 ) *
użyj funkcji data() i explode() potem tylko odpowiednio skonstruuj <select> i powinno działać np. ładuje się dzień od 1 do dzisiejszy-1, potem dzisiejszy i dalej dzisiejszy+1 do 31 czy, który tam, może być problem z np. lutym ale to się da wyeliminować


Funkcja to date() a nie data();
andy84
Cytat(Lee @ 3.03.2007, 23:17:45 ) *
użyj funkcji data() i explode() potem tylko odpowiednio skonstruuj <select> i powinno działać np. ładuje się dzień od 1 do dzisiejszy-1, potem dzisiejszy i dalej dzisiejszy+1 do 31 czy, który tam, może być problem z np. lutym ale to się da wyeliminować

Lee nie mowie ze nie zrozumialem wogole co napisales rozumiem jak wywolac date bierzaca ( manual nie grzeszy ) jednak nie robilem nigdy niczego podobnego skonstuowany mam juz prosty skrypcik ktory pokazuje dzien miesiac rok
  1. <?php 
  2. function reg_date ($d = NULL, $m = NULL, $y = NULL)
  3. { 
  4.  
  5. echo '<select class="formfield" >'; 
  6. for ($day = 1; $day <= 31; $day++) 
  7. { 
  8. echo "<option value="$day""; 
  9. if ($day == $d) 
  10. { 
  11. #echo ' selected="selected"'; 
  12. } 
  13. echo ">$day</option>n"; 
  14. } 
  15. echo '</select>'; 
  16.  
  17.  
  18.  
  19. echo ' / <select class="formfield" >'; 
  20. for ($mth = 1; $mth <= 12; $mth++)
  21. { 
  22. echo "<option value="$mth""; 
  23. if ($mth == $m) 
  24. { 
  25. # echo ' selected="selected"'; 
  26. } 
  27. echo ">$mth</option>n"; 
  28. } 
  29. echo '</select> / '; 
  30.  
  31.  
  32.  
  33. echo '<select class="formfield" >'; 
  34. for ($year = 2007; $year <= 2010; $year++) 
  35. { 
  36. echo "<option value="$year""; 
  37. if ($year == $y) 
  38. { 
  39.  # echo ' selected="selected"'; 
  40. } 
  41. echo ">$year</option>n"; 
  42. } 
  43. }
  44. reg_date ($dates['mday'], $dates['mon'], $dates['year']); 
  45. ?>

jednak jak widzisz nie odzywalem sie od paru dni bo wlasnie kombinowalem jak mogl bym w niego wplesc aby select pokazywal wyrozniony zawsze dzien miesiac i rok bierzacy
Cienki1980
  1. <?php
  2. for ($day = 1; $day <= 31; $day++) 
  3. { 
  4. echo "<option value="$day""; 
  5. if ($day == $d) 
  6.  echo ' selected'; 
  7.  
  8. echo ">$day</option>n"; 
  9. } 
  10. echo '</select>';
  11. ?>

Jak dla mnie to powinno działać poprawnie.

Co do tego rozwiązania ... nie każdy miesiąc ma 31 dni
andy84
Cytat(Cienki1980 @ 8.03.2007, 22:13:15 ) *
  1. <?php
  2. for ($day = 1; $day <= 31; $day++) 
  3. { 
  4. echo "<option value="$day""; 
  5. if ($day == $d) 
  6.  echo ' selected'; 
  7.  
  8. echo ">$day</option>n"; 
  9. } 
  10. echo '</select>';
  11. ?>

Jak dla mnie to powinno działać poprawnie.

Co do tego rozwiązania ... nie każdy miesiąc ma 31 dni

Cienki dzialac to dziala tylko ze dostaje date sobie w postaci 1 / 1 / 2007

a chcialem gdzies po drodze zrobic zeby filtrowalo obecna date czyli mam 3 listy rozwijane pierwsza 31 dni druga 12 a trzecia poprostu lata i teraz jakos neich skrypt zaznacza obecna date przy wyborze czyli ze na liscie zamiast jak obecnie po odpaleniu ,automatycznie pokazuje 1/ 1/2007 - niech pokazuje 9/3/2007 rozumiem ze date() trzeba jakos wplesc ale niemam juz pomyslow moze zle manuala poczytalem ale nawet tamte przyklady mi sie wykonczyly ;/ a kto mi nie odpowie jak nie wy smile.gif
Cienki1980
Aaa o to chodzi. Proste jak budowa gwoździa.
Oto początek Twojej funkcji trochę zmieniony:
  1. <?php
  2. function reg_date ($d = '', $m = '', $y = '')
  3. { 
  4.  
  5.  if($d=='')
  6. $d=date("d");
  7.  if($m=='')
  8. $m=date("m");
  9.  if($y=='')
  10. $y=date("Y");
  11.  
  12. //dalsza część funkcji
  13. }
  14. echo $reg_date(); // to zwróci Ci selecty z zaznaczoną dzisiejszą datą
  15.  
  16. echo $reg_date($dzien,$miesiac,$rok); // a to selecty z zaznaczoną datą podaną w zmiennych
  17. ?>
andy84
Cytat(Cienki1980 @ 9.03.2007, 09:59:39 ) *
Aaa o to chodzi. Proste jak budowa gwoździa.
Oto początek Twojej funkcji trochę zmieniony:
  1. <?php
  2. function reg_date ($d = '', $m = '', $y = '')
  3. { 
  4.  
  5.  if($d=='')
  6. $d=date("d");
  7.  if($m=='')
  8. $m=date("m");
  9.  if($y=='')
  10. $y=date("Y");
  11.  
  12. //dalsza część funkcji
  13. }
  14. echo $reg_date(); // to zwróci Ci selecty z zaznaczoną dzisiejszą datą
  15.  
  16. echo $reg_date($dzien,$miesiac,$rok); // a to selecty z zaznaczoną datą podaną w zmiennych
  17. ?>


Hehe nie wiem z czego gwozdzia robia i jak go skladaja tongue.gif ale widze teraz dopiero ze to nie jest trudne ;/ poprostu kombinowalem jak kon pod gore dzieki cienki smile.gif

####################################################################

Ok moze ktos bedzie kiedys chcial zkorzystac podaje pelny skrypcik - Cienki smiga jak chcialem dzieki <piwo> ( mozna pic na forum questionmark.gif smile.gif

  1. <?php
  2.  
  3. function reg_date ($d = '', $m = '', $y = '')
  4. {
  5.  
  6. if($d=='')
  7. $d=date("d");
  8. if($m=='')
  9. $m=date("m");
  10. if($y=='')
  11. $y=date("Y");
  12.  
  13. echo '<select class="formfield" >'; 
  14. for ($day = 1; $day <= 31; $day++) 
  15. { 
  16. echo "<option value="$day""; 
  17. if ($day == $d) 
  18. { 
  19. echo 'selected="selected"'; 
  20. } 
  21. echo ">$day</option>n"; 
  22. } 
  23. echo '</select>'; 
  24.  
  25. echo ' / <select class="formfield" >'; 
  26. for ($mth = 1; $mth <= 12; $mth++)
  27. { 
  28. echo "<option value="$mth""; 
  29. if ($mth == $m) 
  30. { 
  31. echo 'selected="selected"'; 
  32. } 
  33. echo ">$mth</option>n"; 
  34. } 
  35. echo '</select> / '; 
  36.  
  37. echo '<select class="formfield" >'; 
  38. for ($year = 2007; $year <= 2010; $year++) 
  39. { 
  40. echo "<option value="$year""; 
  41. if ($year == $y) 
  42. { 
  43.  echo 'selected="selected"'; 
  44. } 
  45. echo ">$year</option>n"; 
  46. } 
  47. }
  48. reg_date ($dates['mday'], $dates['mon'], $dates['year']); 
  49. ?>
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.