Autor Zpráva
bach
Profil
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
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
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
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
Hlavně nechápu k čemu používat v tomto případe FOR jednoduší by to bylo s FOREACH
BetaCam
Profil
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
Je to přesně ono....

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: