Ragazzi sto lavoricchiando sull'esempio di calendario che c'è sul sito e lo stavo modificando a mio piacere.
Quello che sicuramente si vede ho eliminato i sabati e le domaniche, poi ho tolto la barra con i giorni della settimane e li ho inseriti insieme ai giorni.
Unica cosa che mi sta facendo un pò rallentare è la disposizione, cioè di default il codice, chiude la riga delle celle </TR> ogni domenica, così che si parta sempre dal lunedi poi 7 celle e si arriva a domenica.
Quello che vorrei fare io è invece non tener più conto della domenica e chiudere ogni 5 celle nella riga, esempio:
LUNEDI 2 - MARTEDI 3 - MERCOLEDI 4 - GIOVEDI 5 - VENERDI 6
LUNEDI 9 - MARTEDI 10 - MERCOLEDI 11 - GIOVEDI 12 - VENERDI 13
LUNEDI 16 - MARTEDI 17 - MERCOLEDI 18 - GIOVEDI 19 - VENERDI 20
LUNEDI 23 - MARTEDI 24 - MERCOLEDI 25 - GIOVEDI 26 - VENERDI 27
Un aiutino?!
PHP:
<?php
function ShowCalendar($m,$y)
{
if ((!isset($_GET['d']))||($_GET['d'] == ""))
{
$m = date('n');
$y = date('Y');
}else{
$m = (int)strftime( "%m" ,(int)$_GET['d']);
$y = (int)strftime( "%Y" ,(int)$_GET['d']);
$m = $m;
$y = $y;
}
$precedente = mktime(0, 0, 0, $m -1, 1, $y);
$successivo = mktime(0, 0, 0, $m +1, 1, $y);
$nomi_mesi = array(
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
);
$nomi_giorni = array(
"LUNEDI",
"MARTEDI",
"MERCOLEDI",
"GIOVEDI",
"VENERDI",
"SABATO",
"DOMENICA"
);
$cols = 7;
$days = date("t",mktime(0, 0, 0, $m, 1, $y));
$lunedi= date("w",mktime(0, 0, 0, $m, 1, $y));
//-------//
function num_gg_sett($gg,$nomi_giorni){
if ((!isset($_GET['d']))||($_GET['d'] == ""))
{
$m = date('n');
$y = date('Y');
}else{
$m = (int)strftime( "%m" ,(int)$_GET['d']);
$y = (int)strftime( "%Y" ,(int)$_GET['d']);
$m = $m;
$y = $y;
}
$gg= date("w",mktime(0, 0, 0, $m, $gg, $y));
if($gg==0) $gg = 7;
return $nomi_giorni[$gg-1];
}
//-------//
if($lunedi==0) $lunedi = 7;
echo "<table>\n";
echo "<tr>\n
<td colspan=\"".$cols."\" class=\"titolo\">
<a href=\"?d=" . $precedente . "\"><<</a>
" . $nomi_mesi[$m-1] . " " . $y . "
<a href=\"?d=" . $successivo . "\">>></a></td></tr>";
echo "</tr>";
$counter = 1;
for($j = 1; $j<$days+$lunedi; $j++)
{
echo $counter++;
if($j%$cols+1==0)
{
echo "<tr>\n";
}
if($j<$lunedi)
{
echo "";
}else{
$day= $j-($lunedi-1);
$data = strtotime(date($y."-".$m."-".$day));
$oggi = strtotime(date("Y-m-d"));
include 'config.php';
$sql = "SELECT str_data FROM appuntamenti";
$result = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($result) > 0)
{
while($fetch = mysql_fetch_array($result))
{
$str_data = $fetch['str_data'];
if ($str_data == $data)
{
$day = "<a href=\"appuntamenti.php?day=$str_data\">$day</a>";
}
}
}
if($data != $oggi)
{
$d = num_gg_sett($day,$nomi_giorni);
if($d == 'DOMENICA' || $d == 'SABATO'){echo "";}else{
echo "<td><spam class=\"settimana\">".$d.' '.$day."</spam></td>";
}
}else{
echo "<td><b><spam class=\"oggi\">".$d.' '.$day."</spam></b></td>";
}
}
if($j%$cols==0)
{
echo "</tr>";
}
}
echo "<tr></tr>";
echo "</table>";
}
ShowCalendar(date("m"),date("Y"));
?>
Quello che sicuramente si vede ho eliminato i sabati e le domaniche, poi ho tolto la barra con i giorni della settimane e li ho inseriti insieme ai giorni.
Unica cosa che mi sta facendo un pò rallentare è la disposizione, cioè di default il codice, chiude la riga delle celle </TR> ogni domenica, così che si parta sempre dal lunedi poi 7 celle e si arriva a domenica.
Quello che vorrei fare io è invece non tener più conto della domenica e chiudere ogni 5 celle nella riga, esempio:
LUNEDI 2 - MARTEDI 3 - MERCOLEDI 4 - GIOVEDI 5 - VENERDI 6
LUNEDI 9 - MARTEDI 10 - MERCOLEDI 11 - GIOVEDI 12 - VENERDI 13
LUNEDI 16 - MARTEDI 17 - MERCOLEDI 18 - GIOVEDI 19 - VENERDI 20
LUNEDI 23 - MARTEDI 24 - MERCOLEDI 25 - GIOVEDI 26 - VENERDI 27
Un aiutino?!