NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

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.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
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.