Autor Zpráva
kozusnik.jan
Profil *
Mám kalendář v PHP. Zdrojový kód:
<?php
  
function JePrechodnyRok ($rok)
{
  return (boolean) date("L", mktime(0,0,0,1,1,$rok));
}

function PocetDnu ($mesic, $rok)
{
  return cal_days_in_month(CAL_GREGORIAN, $mesic, $rok);
}

function PrvniDen ($mesic, $rok)
{
  $anglickeporadi = date("w", mktime(0, 0, 0, $mesic, 1, $rok));
  return ($anglickeporadi==0) ? 7 : $anglickeporadi;
}

function Bunka ($radek, $sloupec, $PrvniDen, $PocetDnu)
{
  $dny=Array(1=>"Po", "Út", "St", "Čt", "Pá", "So", "Ne");
  if ($sloupec==1) return $dny[$radek];
  $chcivratit = ($sloupec-2)*7 + $radek - $PrvniDen+1;
  if ($chcivratit<1 || $chcivratit>$PocetDnu) return "&nbsp;"; else return $chcivratit; 
}

function Kalendar ($mesic, $rok)
{
  $mesice=Array(1=>"leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec");
  //kontroly
  if (!is_numeric($mesic)) return "Měsíc musí být číslo!";
  if (!is_numeric($rok)) return "Rok musí být číslo!";
  if ($mesic<1 || $mesic>12) return "Měsíc musí být číslo od 1 do 12";
  if ($rok<1980 || $rok>2050) return "Rok musí být číslo od 1980 do 2050";
  // zjištění počtu sloupců
  $PocetDnu = PocetDnu ($mesic, $rok); $PrvniDen = PrvniDen($mesic,$rok);
  $sloupcu = date("W", mktime(0, 0, 0, $mesic, $PocetDnu-7, $rok)) - date("W", mktime(0, 0, 0, $mesic, 1+7, $rok))+4;
  // a tabulka
  echo "<TABLE border=\"1\" style=\"border-collapse: collapse\" width=\"",$sloupcu*30,"\">";
  echo "<TR><TD colspan=$sloupcu width=\"",$sloupcu*30,"\" align=\"center\">".$mesice[$mesic]."&nbsp;".$rok."</TD></TR>\n";
  for ($radek=1;$radek<=7;$radek++)
  {
    echo "<TR align=\"center\">";
    for ($sloupec=1; $sloupec<=$sloupcu; $sloupec++) echo "<TD width=\"30\">".Bunka($radek, $sloupec, $PrvniDen, $PocetDnu)."</TD>";
    echo "</TR>\n";
  }
  echo "</TABLE>";
}

$month = Date("m") ;
$year = Date("Y") ;
echo $month;
echo $year;
Kalendar ($month,$year);


?>

A potřeboval bych, ať se mi automaticky zobrazuje, podle data. Např. Když je květen 2010, tak ať se mi zobrazí pro květen 2010.
Datum zapisuji zde:
Kalendar ($month,$year);
A takhle zjišťuji datum:
$month = Date("m") ;
$year = Date("Y") ;
Když datum nechám vypsat, tak mi to vypíše např. den : 07 a rok :2010, to je v pořádku, ale potřeboval bych ořezat tu nulu z dne. Vím, že je na to nějaká fce, ale nemůžu ji najít. Prosím poraďte.
denCo
Profil
http://php.net/manual/en/function.date.php
je to tam pekne všetko rozpísané
kozusnik.jan
Profil *
Moc dík. Už to jede
AM_
Profil
na ořezání nuly stačí prostě přetypování na integer:
echo (int)$day;

nebo si rovnou den vyzvednout bez úvodních nul (viz denCův odkaz)

kozusnik.jan:
A potřeboval bych, ať se mi automaticky zobrazuje, podle data.
To už tak máš, ne?

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:

0