Calendario e tabelle

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi sto lavoricchiando sull'esempio di calendario che c'è sul sito e lo stavo modificando a mio piacere.
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 . "\">&lt;&lt;</a>
  " . $nomi_mesi[$m-1] . " " . $y . " 
  <a href=\"?d=" . $successivo . "\">&gt;&gt;</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?!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, prova anche questo ciclo
PHP:
<?php

$month = date("m");
$year = date("Y");
$time_primo_del_mese = mktime(0, 0, 0, $month, 1, $year);
$primo_del_mese = date('w', $time_primo_del_mese);
$giorni_nel_mese = cal_days_in_month(CAL_GREGORIAN, $month, $year);
echo "<table border=1>";
echo "<tr>";
echo "<td>L</td>";
echo "<td>M</td>";
echo "<td>M</td>";
echo "<td>G</td>";
echo "<td>V</td>";
echo "</tr>\n";
for ($i = 0; $i < 6; $i++) {
    echo "<tr>";
    for ($x = 1; $x <= 7; $x++) {
        $y = $x + ($i * 7) - $primo_del_mese;
        if ($x > 1 && $x < 7) {
            echo "<td";
            if ($y > 0 && $y <= $giorni_nel_mese) {
                echo ">$y";
            } else {
                echo ">&nbsp;";
            }
            echo "</td>";
        }
    }
    echo "</tr>";
    if ($y >= $giorni_nel_mese && $i < 6)
        break;
}
echo "</table>";
?>
 

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Grazie tante per la risposta anche io sono giunto ad uno script simile ;) grazie tante Criric
 
Discussioni simili
Autore Titolo Forum Risposte Data
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
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
C Calendario completamente in php PHP 0
M Calendario con java Javascript 0
sgeuna@caffarel Una calendario-agenda con PHP e MySQL PHP 6

Discussioni simili