PDA

View Full Version : [php] calendario


iforumdelcarlo.salva
31-01-2006, 14:33
ciao,
io avrei bisogno di un calendario che visualizzi solo il mese corrente e che evidenzi giorno corrente, senza nessuna gestione o quant'altro, il problema è che deve essere fatto in una pagina e che si possa manipolare facilmente.
Quelli su freephp ho già guardato.

Qualcuno sa dove posso trovare qualche esempio.


ciao e grazie

Fenomeno85
31-01-2006, 14:40
te ne potrei fare uno ma mi sa che uscirebbe di poca bellezza artistica :D

~§~ Sempre E Solo Lei ~§~

iforumdelcarlo.salva
31-01-2006, 15:10
non mi interessa anzi meglio se non ci sono colori e font strani

Fenomeno85
31-01-2006, 15:13
va buo dai vediamo che sata fuori :D

~§~ Sempre E Solo Lei ~§~

iforumdelcarlo.salva
31-01-2006, 15:15
grazie mille, qualsiasi cosa di facile comprensione va bene

Fenomeno85
31-01-2006, 16:35
fatto dammi un minuto per testarlo se è conforme agli standard xhtml e poi ti posto il codice.

~§~ Sempre E Solo Lei ~§~

Fenomeno85
31-01-2006, 17:30
allora

qui puoi vedere come esce:

www.fenomeno85.altervista.org/pag.php?pag=php_calendario.php


/* preleviamo l'anno corrente */
$year = date ("Y");
/* preleviamo il mese corrente */
$month = date ("m");
/* troviamo quanti giorni ha il mese corrente */
$n_day = date("t",mktime(0, 0, 0, $month, 1, $year));
$first_day = date ("w",mktime(0, 0, 0, $month, 1, $year));
$last_day = date ("w", mktime(0, 0, 0, $month, $n_day, $year));
/*
Il parametro w restituisce il giorno della settimana, numerico, i.e. "0"
(Domenica) a "6" (Sabato). Per noi è Domenica è 7
*/
if ($first_day == 0) $first_day = 7;
if ($last_day == 0) $last_day = 7;
/*
In questo modo troviamo quanti spazi devono essere messi dopo l'ultimo
giorno del mese per riempiere la tabella
*/
$n_space = 7-$last_day;
/* giorni della settimana */
$day = array("Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");
/* Mesi */
$name_month = array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre",

"Ottobre", "Novembre", "Dicembre" );
/* tabella intestazione */
echo "<table border=\"0\">";
/* Intestazione della tabella con il mese corrente */
echo "<tr><td colspan=\"7\"><center><b><i>".$name_month[(int)$month-1]."</i></b></center></td></tr>";
echo "<tr>";
/* Giorni nella tabella */
for ($i=0;$i<7;$i++){
echo "<td><i>".$day[$i]."</i></td>";
}
/* Se il mese non incomincia da lunedì riempiamo la tabella con degli spazi */
echo "</tr>";
$y=1;
echo "<tr>";
for ($i=0;$i<$n_day+$first_day+$n_space-1;$i++){
if ($i%7==0 and $i!=0){
echo "</tr><tr>";
}
if ($i<$first_day-1) echo "<td><center>&nbsp;</center></td>";
else {
if ($y<$n_day+1){
if ($y == (int)date("d"))echo "<td><center><b>".$y."</b></center></td>";
else echo "<td><center>".$y."</center></td>";
$y++;
}
else echo "<td><center>&nbsp;</center></td>";
}
}
echo "</tr></table>";



~§~ Sempre E Solo Lei ~§~

Neo2
31-01-2006, 18:11
allora

qui puoi vedere come esce:

www.fenomeno85.altervista.org/pag.php?pag=php_calendario.php


/* preleviamo l'anno corrente */
$year = date ("Y");
/* preleviamo il mese corrente */
$month = date ("m");
/* troviamo quanti giorni ha il mese corrente */
$n_day = date("t",mktime(0, 0, 0, $month, 1, $year));
$first_day = date ("w",mktime(0, 0, 0, $month, 1, $year));
$last_day = date ("w", mktime(0, 0, 0, $month, $n_day, $year));
/*
Il parametro w restituisce il giorno della settimana, numerico, i.e. "0"
(Domenica) a "6" (Sabato). Per noi è Domenica è 7
*/
if ($first_day == 0) $first_day = 7;
if ($last_day == 0) $last_day = 7;
/*
In questo modo troviamo quanti spazi devono essere messi dopo l'ultimo
giorno del mese per riempiere la tabella
*/
$n_space = 7-$last_day;
/* giorni della settimana */
$day = array("Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");
/* Mesi */
$name_month = array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre",

"Ottobre", "Novembre", "Dicembre" );
/* tabella intestazione */
echo "<table border=\"0\">";
/* Intestazione della tabella con il mese corrente */
echo "<tr><td colspan=\"7\"><center><b><i>".$name_month[(int)$month-1]."</i></b></center></td></tr>";
echo "<tr>";
/* Giorni nella tabella */
for ($i=0;$i<7;$i++){
echo "<td><i>".$day[$i]."</i></td>";
}
/* Se il mese non incomincia da lunedì riempiamo la tabella con degli spazi */
echo "</tr>";
$y=1;
echo "<tr>";
for ($i=0;$i<$n_day+$first_day+$n_space-1;$i++){
if ($i%7==0 and $i!=0){
echo "</tr><tr>";
}
if ($i<$first_day-1) echo "<td><center>&nbsp;</center></td>";
else {
if ($y<$n_day+1){
if ($y == (int)date("d"))echo "<td><center><b>".$y."</b></center></td>";
else echo "<td><center>".$y."</center></td>";
$y++;
}
else echo "<td><center>&nbsp;</center></td>";
}
}
echo "</tr></table>";



~§~ Sempre E Solo Lei ~§~
ma e' uno javascript che crea un calendario?ho capito bene? :mc: :confused:

iforumdelcarlo.salva
31-01-2006, 18:13
ciao,
grazie mille per il codice, va più che bene.

ciao e buona serata

iforumdelcarlo.salva
31-01-2006, 18:20
ma e' uno javascript che crea un calendario?ho capito bene? :mc: :confused:

Il codice serve solo per far vedere il calendario senza fare altre operazioni.

Fenomeno85
31-01-2006, 18:29
ma e' uno javascript che crea un calendario?ho capito bene? :mc: :confused:

javascript? :D ... no è solo puro codice php (io odio javascript :O )

iforumdelcarlo se hai bisogno di modifiche dimmi pure ;)

~§~ Sempre E Solo Lei ~§~

Neo2
31-01-2006, 18:34
Il codice serve solo per far vedere il calendario senza fare altre operazioni.

quindi se lo metto su una pagina html mi esce il calendario..giusto? :eek:

Fenomeno85
31-01-2006, 18:37
quindi se lo metto su una pagina html mi esce il calendario..giusto? :eek:

no :O

~§~ Sempre E Solo Lei ~§~

Traxsung
31-01-2006, 23:51
No... devi pubblicarlo in un server che supporti php.
Approposito Fenomeno85... potresti dare un'occhiata qui??

http://www.hwupgrade.it/forum/showthread.php?t=1123304

Thanks