Ok, jak zrobić to przez link już mniej więcej wiem. Jednak wszystko mam w funkcji, a zmienna $miesiac poza funkcja nie istnieje, dobrze rozumiem?
Wrzucam kod i proszę o małą pomoc jak go orientacyjnie zmodyfikować. Wiem, że funkcję mogę wyrzucić, jednak wtedy występuje mały problem z "kolorowaniem" dni zajętych, które się znajdują w bazie.
<?php
$login = 'root';
$pass = '';
function rysujKalendarz($miesiac, $rok)
{
$sql = "SELECT dzien FROM kalendarz WHERE miesiac = ".(int)$miesiac." AND rok = $rok ORDER BY dzien ASC";
$dni_zaznaczone = array();
{
$dni_zaznaczone[] = $row['dzien'];
}
$znacznik = mktime(0
, 0
, 0
, $miesiac, 1
, $rok); $iledni = date("t", $znacznik); $start = date("w", $znacznik); "Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec",
"Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"
);
// Rysowanie kalendarza
echo '<table class="cal-table" cellspacing="0" cellpadding="2">'; echo '<caption class="cal-caption">'; echo '<p>'.$miesiace[$miesiac-1].' '.$rok; echo '<a href="index.html" class="prev">«</a>'; echo '<a href="index.html" class="next">»</a> <tbody class="cal-body">'; echo '</p></caption><tr>'; echo '<tr><td>Nd</td><td>Pn</td> <td>Wt</td><td>Śr</td><td>Cz</td><td>Pt</td><td>So</td></tr>';
if ($start>0)
echo '<td colspan="'.$start.'" style="background: #ffffff;"> </td>'; else $pierwszy=true;
for ($i=1;$i<=$iledni;$i++)
{
$dzien = date("w", mktime(0
, 0
, 0
, $miesiac, $i, $rok)); if ($dzien==0 and
!$pierwszy) echo '</tr><tr>';
// Zajęty dzień - bg
if (in_array($i, $dni_zaznaczone)) $bg = "background: red;"; // Zwykły dzień - bg
else $bg = "background: #fff;";
$pierwszy = false;
mktime(0
, 0
, 0
, $miesiac, $i, $rok)) $bg .= " font-weight:bold;"; echo '<td style="'.$bg.'">'.$i.'</td>'; }
$koniec=7-($start+$iledni)%7;
if ($koniec<>7
) echo '<td colspan="'.$koniec.'" style="background:#ffffff;"> </td>';
echo '</tr></tbody></table>';
}
?>