Calendario completamente in php

ClaudioMalorgio

Nuovo Utente
4 Ago 2010
15
0
0
33
Milano
www.malorgio.it
Ciao ragazzi.

Vi volevo postare un calendario php fatto interamente da me. Le peculiarità di tale calendario sono :
- Formattazione data italiana dd/mm/YY
- Abilitato per mese successivo e precedente
- Può inviare (tramite metodo post) il giorno , il mese e l'anno selezionati in una pagina in cui possono servire
- Fatto in php
- Sicuro e affidabile.

Spero vi possa essere utile

PHP:
<?php
// Classe calendario 
// Autore : Malorgio CLaudio Ludovico - Dalli Guido 
// Questa classe crea un calendario perpetuo che cliccando sul giorno selezionato manda in POST la data selezionata
// ShowCalendar(date("m"),date("Y")) per chiamare il calendario in qualsiasi pagina php

// Inizializzo funzione ShowCalendar passandogli MESE e ANNO 

function ShowCalendar($m,$y)
{		
	if(isset($_POST['dp'])){
		 	//echo 1;
		   $m = (int)date( "m" ,(int)$_POST['precedente']); 
		  // $m = date("m", strtotime($_POST['precedente'])) ;
		   $y = (int)date( "Y" ,(int)$_POST['precedente']);
		  // $m = date("Y", strtotime($_POST['precedente'])) ;
		   //echo $m;
		   //echo $y;
	  }
     elseif(isset($_POST['ds'])){
		 	 //echo 2;
		    $m = (int)date( "m" ,(int)$_POST['successivo']); 
		   // $m = date("m", strtotime($_POST['successivo'])) ;
		    $y = (int)date( "Y" ,(int)$_POST['successivo']);
		   // $m = date("Y", strtotime($_POST['successivo'])) ;
		  $m = $m;
   		  $y = $y;
		   //echo $m;
		   //echo $y;
	 }
	 elseif(isset($_POST['giorno'])){
		 $giorno = $_POST['giorno'];
	 }
	 else{
		 	//echo 3;
		   $m = $m;
		   $y = $y;
		    //echo $m;
		    //echo $y;
	 }	
	// Creo i tasti mese precedente e mese successivo
  $precedente = mktime(0, 0, 0, $m -1, 1, $y);
  //echo $precedente;
  $successivo = mktime(0, 0, 0, $m +1, 1, $y);
  //echo $successivo;

	// Array dei mesi 
  $nomi_mesi = array(
    "Gennaio",
    "Febbraio",
    "Marzo",
    "Aprile",
    "Maggio",
    "Giugno", 
    "Luglio",
    "Agosto",
    "Settembre",
    "Ottobre",
    "Novembre",
    "Dicembre"
  );
	// Array dei giorni
  $nomi_giorni = array(
    "Lun",
    "Mar",
    "Mer",
    "Gio",
    "Ven",
    "Sab",
    "Dom"
  );

	// Imposto le colonne del calendario
  $cols = 7;
  // Credo i giorni
  $days = @date("t",@mktime(0, 0, 0, $m, 1, $y)); 
  // Ricavo lunedi
  $lunedi= @date("w",@mktime(0, 0, 0, $m, 1, $y));
  // controllo del lunedi (Banale)
  if($lunedi==0) $lunedi = 7;
  // Inizializzo la tabella
  echo "<form  method=\"post\">\n";
  echo "<table>\n";
  echo "<tr>\n
  <td  id=\"td_calendario\" colspan=\"".$cols."\">
  <input type=\"submit\" id=\"form_calendario\" name=\"dp\" value=\"&lt&lt\"/>
  <input type=\"hidden\" name=\"precedente\" value=\"".$precedente."\"/>
  " . $nomi_mesi[$m-1] . " " . $y . "
  <input type=\"submit\" id=\"form_calendario\" name=\"ds\" value=\"&gt&gt\"/>
  <input type=\"hidden\" name=\"successivo\" value=\"".$successivo."\"/>
  </td>
  </tr>
  </table>
  </form>
  <form method=\"post\" action=\"index.php\">\n
  <table>
  <tr>\n";
  // ricavo i giorni con un for_each 
  foreach($nomi_giorni as $v)
  {
    echo "<td id=\"td_calendario\">".$v."</td>\n";
  }
  echo "</tr>";
	// Ciclo for che è il cuore della tabella molto scolastico ma preciso , mi crea la tabella tenendo conto dell incremento dei giorni e dei lunedi di ogni mese 
  for($j = 1; $j<$days+$lunedi; $j++)
  {
    if($j%$cols+1==0)
    {
      echo "<tr>\n";
    }
	// Controllo per vedere se devo riepire o meno delle celle 
    if($j<$lunedi)
    {
      echo "<td><input type=\"hidden\" name=\"anno\" value=\"".$y."\"/><input type=\"hidden\" name=\"mese\" value=\"".$m."\"/></td>\n";
    }else{
      $day= $j-($lunedi-1);
      $data = @strtotime(@date($y."-".$m."-".$day));
      $oggi = @strtotime(@date("Y-m-d"));
	 // Mando in post i giorni cosi posso passarli ad altre pagine se necessario
      if($data != $oggi)
      {
        echo "<td id=\"td_calendario\"><input id=\"form_calendario\" type=\"submit\" name=\"giorno\" value=\"".$day."\"/></td>";
      }else{
        echo "<td id=\"td_calendario\"><input id=\"oggi\" type=\"submit\" name=\"giorno\" value=\"".$day."\"/></td>";
      }
    }
	// Se le colonne sono finite chiudo 
    if($j%$cols==0)
    {
      echo "</tr>";
    }
  }
  // Chiudo la tabella e il form
  echo "<tr></tr>";
  echo "</table>";
  echo "</form>";  
  
}
?>

Ancora lo sto utilmando ben accetti commenti e critiche :cool:
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Plugin Calendario Appuntamenti WordPress 1
E Calendario appuntamenti \dipendenti PHP 0
F Calendario php? PHP 3
L [PHP] calendario PHP 0
R [WordPress] Calendario Personale per ogni Utente WordPress 0
maxnegri [javascript] calendario booking disponibilità Javascript 2
L [PHP] calendario: dati da DB in tabella PHP 1
K [PHP] Creazione di Calendario con orario PHP 4
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
A [Javascript] Datepicker - il calendario non si apre Javascript 16
Rhisen [PHP] Problema Calendario Eventi PHP 0
E [Javascript] Assegnazione variabile da campo input di tipo "a calendario" Javascript 3
Gaetano1991h Passaggio da calendario php a javascript PHP 2
V Servizio email con calendario condiviso Posta Elettronica 1
L Zimbra calendario Vs PHP PHP 0
G calendario collegato a database Classic ASP 2
felino [Wordpress] Ordine per Calendario Personalizzato WordPress 1
V Reperire le date della settimana del calendario jQuery 1
D Creare Calendario PHP PHP 0
A Pubblicazione dati su calendario settimanale jQuery 28
M Otttimizazione date calendario prenotazioni PHP 0
F Problema attivare/disattivare immagine calendario datepicker da select jQuery 1
M Calendario giornate campionato PHP 4
T PHP sync con gmail, rubrica google e calendario google PHP 0
felino [PHP][iCal] iCal: sincronizzazione e visualizzazione calendario PHP 2
L calendario e click <a href=' PHP 9
G Aggiornamento Calendario MS Access 3
felino Contact Form 7: calendario e formattazione messaggio WordPress 0
novello88 [EXCEL] Calendario precompilato Windows e Software 1
B Turno in quinta su calendario PHP 3
ivarello Calendario e tabelle PHP 2
A modifica al calendario Javascript 0
Monital [RISOLTO]creare un calendario stile campionato di calcio PHP 8
T calendario connesso a dati variabili Javascript 2
D Cambio funzioni mouse in calendario Javascript Javascript 1
M Calendario con 28 giorni anche per i mesi successivi PHP 2
A errore javascript calendario scolastico Javascript 3
B Inserimento risultati di un calendario calcistico tramite un solo bottone PHP 2
P Calendario e problema inserimenti PHP 0
Eruyomon Calendario Dinamico PHP 37
T Problema con calendario PHP 17
A PHP calendario, come inserire i giorni precedenti? PHP 1
M inserire un calendario settimanale su una pagina html, aggiornabile dall'esterno. HTML e CSS 11
criric Semplice calendario Snippet PHP 0
L Anomalia calendario Java 1
renegade [vendo] script calendario disponibilità B&B/Hotel Offerte e Richieste di Lavoro e/o Collaborazione 0
P calendario che invia notifiche PHP 5
T Calendario in PHP (con file di testo) PHP 4
E calendario in php + sql PHP 4
M Calendario con java Javascript 0

Discussioni simili