NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Nefunkční listování v kalendáři

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
anreli
Člen
Avatar
anreli:22.5.2016 14:20

Dobrý den všem, stáhl jsem si script kalendáře a nefunguje tam listování měsíců. Mohl by mi někdo prosím poradit co s tím? Předem díky!!!

<html>
<head>
<title>Kalendář - Měsíční 01</title>
</head>
<body>
<?php
if (IsSet($id))
{
$today = getdate($id);
}
else
{
$today = getdate();
}
$prevmonth = mktime(0, 0, 0, $today['mon']-1, $today['mday'], $today['year']); // Předchozí měsíc
$nextmonth = mktime(0, 0, 0, $today['mon']+1, $today['mday'], $today['year']); // Následující měsíc
$thismonth = mktime(0, 0, 0, $today['mon'], $today['mday'], $today['year']); // Tento Měsíc
$firstday = mktime(0, 0, 0, $today['mon'], 1,$today['year']); // První den v měsící
$daysinmonth = date("t",$this­month); // počet dní v tomto měsíci
// Do pole $monthnum definujeme české názvy měsíců
$monthnum = array(1=>"Leden", 2=>"Únor", 3=>"Březen", 4=>"Duben", 5=>"Květen",
6=>"Červen", 7=>"Červenec", 8=>"Srpen", 9=>"Září", 10=>"Říjen", 11=>"Listopad", 12=>"Prosinec");
// Do pole $daynum definujeme české zkratky názvu dní
$daynum = array(1=>"Po", 2=>"Ut", 3=>"St", 4=>"Čt", 5=>"Pa", 6=>"So", 0=>"Ne");
echo '<table border="1" align="center">'­."\n";
echo '<tr>
<td colspan="'.$da­ysinmonth.'" align="center">
<a href="kal.php?id='­.$prevmonth.'"><</a>
<b> '.$monthnum[$to­day['mon']].' '­.$today['year']­.'</b> 
<a href="kal.php?id='­.$nextmonth.'">></a>
</td>
</tr>'."\n";
for ($numrow=1; $numrow <= 5; $numrow++)
{
echo "<tr>\n";
for ($daycount=1; $daycount <= $daysinmonth; $daycount++)
{
if ($numrow==1)
{
// na první řádce je popis složení z pořadového čísla dne v měsící a názvu dne např. (25 Po)
$showday = mktime(0, 0, 0, $today['mon'], $daycount, $today['year']); // Zobrazovaný den v měsící
echo'<td width="20" height="20" align="center">'­.$daycount.'<br>'­.$daynum[date("w",$show­day)]."</td>\n";
}
else
{
echo"<td height=20> </td>­\n";
}
}
echo "\n</tr>\n";
}
echo"</table>";
?>
</body>
</html>

 
Odpovědět
22.5.2016 14:20
Avatar
Lukáš Hypša:22.5.2016 15:45

Doporučuju obalit kod tagem "code" pro lepší přehlednost , je to nahoře při editování příspěvku 2. funkce z leva, takle je to hrozně zmatečný :)

 
Nahoru Odpovědět
22.5.2016 15:45
Avatar
anreli
Člen
Avatar
Odpovídá na anreli
anreli:22.5.2016 16:30

omlouvám se ;-)

<html>
<head>
 <title>Kalendář - Měsíční 01</title>
</head>
<body>
<?php
if (IsSet($id))
{
 $today = getdate($id);
}
else
{
 $today = getdate();
}

$prevmonth = mktime(0, 0, 0, $today['mon']-1, $today['mday'], $today['year']);  // Předchozí měsíc
$nextmonth = mktime(0, 0, 0, $today['mon']+1, $today['mday'], $today['year']);  // Následující měsíc

$thismonth = mktime(0, 0, 0, $today['mon'], $today['mday'], $today['year']);    // Tento Měsíc
$firstday = mktime(0, 0, 0, $today['mon'], 1,$today['year']);                                   // První den v měsící

$daysinmonth = date("t",$thismonth);                                                                                    // počet dní v tomto měsíci

// Do pole $monthnum definujeme české názvy měsíců
$monthnum       = array(1=>"Leden", 2=>"Únor", 3=>"Březen", 4=>"Duben", 5=>"Květen",
                                        6=>"Červen", 7=>"Červenec", 8=>"Srpen", 9=>"Září", 10=>"Říjen", 11=>"Listopad", 12=>"Prosinec");
// Do pole $daynum definujeme české zkratky názvu dní
$daynum         = array(1=>"Po", 2=>"Ut", 3=>"St", 4=>"Čt", 5=>"Pa", 6=>"So", 0=>"Ne");

echo '<table border="1" align="center">'."\n";
echo '<tr>
                <td colspan="'.$daysinmonth.'" align="center">
                        <a href="kalendar.php?id='.$prevmonth.'">&lt;</a>
                        <b>&nbsp;'.$monthnum[$today['mon']].'&nbsp;'.$today['year'].'</b>&nbsp;
                        <a href="kalendar.php?id='.$nextmonth.'">&gt;</a>
                </td>
          </tr>'."\n";

for ($numrow=1; $numrow <= 5; $numrow++)
{
        echo "<tr>\n";
        for ($daycount=1; $daycount <= $daysinmonth; $daycount++)
        {
                if ($numrow==1)
                {
                        // na první řádce je popis  složení z pořadového čísla dne v měsící a názvu dne např. (25 Po)
                        $showday = mktime(0, 0, 0, $today['mon'], $daycount, $today['year']);   // Zobrazovaný den v měsící
                        echo'<td width="20" height="20" align="center">'.$daycount.'<br>'.$daynum[date("w",$showday)]."</td>\n";
                }
                else
                {
                        echo"<td height=20>&nbsp;</td>\n";
                }
        }
        echo "\n</tr>\n";
}
echo"</table>";
?>
</body>
</html>
 
Nahoru Odpovědět
22.5.2016 16:30
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.