Neka HTML stranica sa kalendarom, kalendar.html izgleda otprilike ovako.
Code:
<!doctype html>
<html>
<body>
<table>
<tr><td id="c1">1</td><td id="c2">2</td>...</tr>
...
</table>
</body>
</html>
Da bi na datum 2. postavio pozadinu treba dodati malo CSS-a:
Code:
<style type="text/css">
td#c2 { background: yellow; }
</style>
Sada nam treba PHP stranica za uređivanje, kalendar_admin.php. Trik je da ispišeš niz skrivenih polja u kojima ćeš preneti izbor obojenih. Onda iz onclick samo postaviš vrednost skrivenog polja. Kada se ovaj skriveni formular pošalje skripta će da ispiše CSS i sačuva sve u kalendar.html...
Code:
<?php
if($_SERVER['REQUEST_METHOD']) == 'POST') {
// sastavimo tekst td#c1, td#c2,... za sve koji su odabrani
$css = ''; $sep = '';
foreach($_POST['c'] as $k=>$v) {
$css .= $v ? $sep.' td#c'.$k : ''; $sep = ','
}
// sastavimo i ispišemo kalendar.html, još elegantnije pročitamo šablon kalendar.inc i onda u njega dodamo css
$html = <<<EOT
<!doctype html>
<html>
<head><style type="text/css">'.$css.' {background: yellow;}</style></head>
<body><table>...</table></body>
</html>
EOT;
file_put_contents('kalendar.html', $html);
}
else {
// skriveni formular
echo '<form method="post" name="c">';
for($d = ...; $d < ...; $d++) {
echo '<input type="hidden" name="c['.$d.']" value="0" />';
}
// ovde ide ispis kalendara zajedno sa onclick="document.c.elements[this.id].value = 1"
// ili poziv neke toggle funkcije koja će da promeni polje i da sačuva izbor u skrivenoj formi
// Submit
echo '<input type="submit" value="Sačuvaj" />';
echo '</form>';
}
?>