Newsgroup: it.comp.www.php
Titolo: Calendario

Ciao a tutti, sto realizzando una sezione del mio sito dedicata al php e
sono alle prese con un calendario:
Ho realizzato questo script che stampa il mio bel calendario:
/* lo potete vedere in funzione (si spera)
su 
http://www.joostone.com/php/
 */
<?php
    $giorno = array ("L", "M", "M", "G", "V", "S", "D");
    $mese = array ("", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio",
"Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre",
"Dicembre");
    $a = date("Y");//anno 2003
    $m = date("n");//mese 1-12
    $j = date("j");//giorno 1-31
    $t = date("t");//giorni del mese
    $p = date("w", mktime(0, 0, 0, $m, 1, $a));// primo del mese 0-6
    $s = intval(($t + $p)/7)+1;//settimane del mese
    $o = $p + $j;
    for ($i = 1; $i <= $p; $i++) $d[$i] = "";
    for ($i = 1; $i <= $t; $i++) $d[$p + $i] = $i;
    echo "<div class=\"titolo\">$mese[$m] $a</div>\n";
    $g = 1;
    for ($row = 1; $row <= $s; $row++) {
        echo "<div class=\"caleriga\">\n";
        for ($i = 1; $i <= 7; $i++) {
            if ($i == 7) {
                echo "<div class=\"caldome\">$d[$g]</div>\n";
            } else {
                if ($g == $o) {
                    echo "<div class=\"caloggi\">$d[$g]</div>\n";
                } else {
                    echo "<div class=\"caldata\">$d[$g]</div>\n";
                }
            }
            $g++;
        }
        echo "</div>\n";
    }
?>
In pratica metto tutta la sequenza dei giorni in un array e poi li stampo...
/* non stampo la riga del nome dei giorni
per il motivo che adesso vi spiego */
Il mio problema č questo...
mi date un suggerimento, uno spunto da cui partire in modo da far iniziare
la settimana con il lunedi?
Vi ringrazio infinitamente
-- 
Joost One also known as Paolo
joost[snail]
joostone.com
http://www.joostone.com/burg
 [my scooter]



Joost One (sp...@your.sister) wrote:
[...]
 > In pratica metto tutta la sequenza dei giorni in un array e poi li 
stampo...
 > /* non stampo la riga del nome dei giorni
 > per il motivo che adesso vi spiego */
 >
 > Il mio problema Ė questo...
 > mi date un suggerimento, uno spunto da cui partire in modo da far 
iniziare
 > la settimana con il lunedi?
 >
 > Vi ringrazio infinitamente
  Mi scuso per il mio pessimo Italiano, ma almeno spero che mi capisci
  :)
  Ti mando qua due classi che ho scritto propio per il lavoro con
  le date e gli calendari. Quando crei u ogetto Calnedar con
  "$cal = new Calendar", prima di tutto gli dici quale il mese
  con "$cal->setMonth( 11, 2003 );", e poi gli dici
  "$cal->startWith = 0" se voi che cominci con la domenica, o
  "$cal->startWith = 1;"
  se vuoi con lunedi.
  I commenti sono in Croato, pa se sai programmare con gli ogetti
  (OOP) non dovrebbe esere dificile capire dagli nomi dei metodi
  nelle clasi.
  Spero essere stato di aiuto :)
<?
include( "LIBRARY/Calendar.php" );
include( "LIBRARY/Date.php" );
$cal = new Calendar();
$cal->setMonth( 10, 1974 );
$cal->showTitle = false;
// se $cal->startWith e 0 cominca con la Domenica
// invece se e 1 cominca con lunedi
$cal->startWith = 0;
$cal->weekDays = array( "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom" );
for( $i = 1; $i <= 4; $i++ ) {
	print $cal->toString();
	$cal->next();
}
$date = new Date();
$date->today();
// print $date->toString( "d.m.y." );
for( $i = 0; $i <= 40; $i++ ) {
	print $date->toString() . "<br/>";
	$date->next();
}
?>
-- 
puzz... :wq!
http://www.virtual-istra.com/puzz/