Autor | Zpráva | ||
---|---|---|---|
bach Profil |
#1 · Zasláno: 8. 4. 2008, 06:17:08
Dobrý den , jak udělat aby mi formulář předbídnul aktuální datum , ale též aby se dal vybrat i jiný?
mám to následovně , což funguje , ale mám nastaveno vždy 1.leden.2008 a já bych potřeboval přednastavit aktuální datum s možností to vybrat jinak: <FORM ACTION="dot.php" METHOD="POST"> <? function Mesice1 () { $mesice1=array(1=>"leden","únor","březen","duben","květen","červen","č ervenec","srpen","září","říjen","listopad","prosinec"); echo "<SELECT name='m1'>"; for ($m1=1;$m1<=12;$m1++) echo "\t<OPTION VALUE=$m1>".$mesice1[$m1]."</OPTION>\n"; echo "</SELECT>"; } function Roky1 () { $roky1=array(1=>"2008","2009","2010","2011","2012","2013"); echo "<SELECT name='r1'>"; for ($r1=1;$r1<=6;$r1++) echo "\t<OPTION VALUE=$r1>".$roky1[$r1]."</OPTION>\n"; echo "</SELECT>"; } function Dny1 () { $dny1=array(1=>"1","2","3","4","5","6","7","8","9","10","11","12","13" ,"14","15","16","17","18","19","20","21","22","23","24","25","26","27" ,"28","29","30","31"); echo "<SELECT name='d1'>"; for ($d1=1;$d1<=31;$d1++) echo "\t<OPTION VALUE=$d1>".$dny1[$d1]."</OPTION>\n"; echo "</SELECT>"; } ?> <FORM> <b>Od... </b> <?Dny1()?> <?Mesice1()?> <?Roky1()?><br> <INPUT TYPE="submit" value="Odeslat dotaz"> |
||
Joker Profil |
#2 · Zasláno: 8. 4. 2008, 06:59:32 · Upravil/a: Joker
bach
Naznačím na roku: function Roky1 () { $roky1=array(1=>"2008","2009","2010","2011","2012","2013"); $letos = date("Y"); echo "<select name='r1'>"; for ($r1=1;$r1<=6;$r1++){ echo "\t<option value=\"$r1\"" if($roky[$r1] == $letos) echo(' selected="selected"'); echo(">".$roky1[$r1]."</OPTION>\n"; echo "</select>"; } Ale možná by bylo lepší udělat tu funkci tak, že by název prvku a rok přebírala jako vstupní parametry, bylo by to takové univerzálnější. edit: Zbývající funkce budou analogicky. |
||
Adam Zábranský Profil |
#3 · Zasláno: 8. 4. 2008, 07:03:05
bude stačit lehká úprava kódu, stačí si pohrát s funkcí date... ukázka na měsících
function Mesice1 () { $mesice1=array(1=>"leden","únor","březen","duben","květen","červen","č ervenec","srpen","září","říjen","listopad","prosinec"); echo "<SELECT name='m1'>"; for ($m1=1;$m1<=12;$m1++) {echo "\t<OPTION VALUE=$m1"; if($m1==date("n")) {echo " selected";} echo ">".$mesice1[$m1]."</OPTION>\n";} echo "</SELECT>"; } nevím jestli je tohle to co jsi chtěl, každopádně je to možnost. S těmi dalšími funkcemi to můžeš udělat taky tak, ale změnit date("n") na něco jiného |
||
Adam Zábranský Profil |
#4 · Zasláno: 8. 4. 2008, 07:07:44
tak vidím, že Joker mě předběhl ;)
že by název prvku a rok přebírala jako vstupní parametry přesně to jsem chtěl také udělat, ale k tomuto příkladu tohle myslím stačí :) každopádně kdybys to chtěl bachi udělat, tak to není tak těžké, stačí místo function Mesice1() mít Mesice1($mesic) a pak místo date("n") mít $mesic no a pak bys volal [i]<b>Od... </b> <?Dny1()?> <?Mesice1(date("n"))?> |
||
BetaCam Profil |
#5 · Zasláno: 8. 4. 2008, 07:13:06
Hlavně nechápu k čemu používat v tomto případe FOR jednoduší by to bylo s FOREACH
|
||
BetaCam Profil |
#6 · Zasláno: 8. 4. 2008, 07:17:04
Například :
<?php $dny = array(1=>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,2 4,25,26,27,28,29,30,31); $mesice = array(1=>'leden','únor','březen','duben','květen','červen','červenec', 'srpen','září','říjen','listopad','prosinec'); $roky = array(2008=>'2008','2009','2010','2011','2012','2013'); function datum($dny, $mesice, $roky){ $out = ''; $dOut = ''; $mOut = ''; $rOut = ''; foreach($dny AS $key => $val){ $dOut .= '<OPTION VALUE='.$key.' '.($key == date('j') ? 'selected="selected"' : '').'>'.$val.'</OPTION>'; } foreach($mesice AS $key => $val){ $mOut .= '<OPTION VALUE='.$key.' '.($key == date('n') ? 'selected="selected"' : '').'>'.$val.'</OPTION>'; } foreach($roky AS $key => $val){ $rOut .= '<OPTION VALUE='.$key.' '.($key == date('Y') ? 'selected="selected"' : '').'>'.$val.'</OPTION>'; } $out = '<SELECT name="d1">'.$dOut.'</SELECT><SELECT name="m1">'.$mOut.'</SELECT><SELECT name="r1">'.$rOut.'</SELECT>'; return $out; } echo datum($dny, $mesice, $roky); ?> |
||
bach Profil |
#7 · Zasláno: 8. 4. 2008, 08:08:50 · Upravil/a: bach
Je to přesně ono....
|
||
Časová prodleva: 16 let
|
0