• Home
  • Forum
  • Fare Web
  • PHP

Calendario e tabelle

  • Creatore Discussione Creatore Discussione ivarello
  • Data di inizio Data di inizio 3 Dic 2013

ivarello

Utente Attivo
14 Dic 2012
211
1
16
  • 3 Dic 2013
  • #1
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.606
54
48
TN
  • 7 Dic 2013
  • #2
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
  • 7 Dic 2013
  • #3
Grazie tante per la risposta anche io sono giunto ad uno script simile grazie tante Criric
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
Plugin Calendario Appuntamenti
  • Marco Galli
  • 24 Nov 2021
  • WordPress
Risposte
2
Visite
2K
WordPress 25 Ott 2024
Christian95
C
E
Calendario appuntamenti \dipendenti
  • Emanuele85
  • 31 Mar 2021
  • PHP
Risposte
0
Visite
852
PHP 31 Mar 2021
Emanuele85
E
F
Calendario php?
  • France_sco
  • 8 Giu 2020
  • PHP
Risposte
3
Visite
2K
PHP 8 Giu 2020
macus_adi
L
[PHP] calendario
  • luigi777
  • 30 Ott 2019
  • PHP
Risposte
0
Visite
1K
PHP 30 Ott 2019
luigi777
L
R
[WordPress] Calendario Personale per ogni Utente
  • Riccardo Fiore
  • 25 Lug 2019
  • WordPress
Risposte
0
Visite
1K
WordPress 25 Lug 2019
Riccardo Fiore
R
[javascript] calendario booking disponibilità
  • maxnegri
  • 17 Dic 2018
  • Javascript
Risposte
2
Visite
2K
Javascript 3 Gen 2019
maxnegri
L
[PHP] calendario: dati da DB in tabella
  • lux78b
  • 11 Dic 2018
  • PHP
Risposte
1
Visite
2K
PHP 27 Dic 2018
macus_adi
K
[PHP] Creazione di Calendario con orario
  • keyz23
  • 18 Lug 2018
  • PHP
Risposte
4
Visite
3K
PHP 19 Lug 2018
marino51
Q
Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10
  • qwertyy
  • 1 Lug 2018
  • PHP
Risposte
8
Visite
4K
PHP 1 Lug 2018
macus_adi
A
[Javascript] Datepicker - il calendario non si apre
  • arval
  • 10 Mag 2017
  • Javascript
Risposte
16
Visite
5K
Javascript 17 Mag 2017
arval
A
[PHP] Problema Calendario Eventi
  • Rhisen
  • 4 Mag 2017
  • PHP
Risposte
0
Visite
1K
PHP 4 Mag 2017
Rhisen
E
[Javascript] Assegnazione variabile da campo input di tipo "a calendario"
  • enzogar
  • 14 Feb 2017
  • Javascript
Risposte
3
Visite
5K
Javascript 21 Feb 2017
enzogar
E
Passaggio da calendario php a javascript
  • Gaetano1991h
  • 28 Ott 2016
  • PHP
Risposte
2
Visite
1K
PHP 29 Ott 2016
borgo italia
V
Servizio email con calendario condiviso
  • Verminillo
  • 3 Mar 2016
  • Posta Elettronica
Risposte
1
Visite
1K
Posta Elettronica 4 Mar 2016
chleggiero
L
Zimbra calendario Vs PHP
  • Leonardo Bettarelli
  • 22 Gen 2016
  • PHP
Risposte
0
Visite
1K
PHP 22 Gen 2016
Leonardo Bettarelli
L
G
calendario collegato a database
  • giro
  • 14 Gen 2016
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 18 Gen 2016
giro
G
[Wordpress] Ordine per Calendario Personalizzato
  • felino
  • 29 Set 2015
  • WordPress
Risposte
1
Visite
2K
WordPress 13 Ott 2015
felino
V
Reperire le date della settimana del calendario
  • Vera
  • 25 Set 2015
  • jQuery
Risposte
1
Visite
1K
jQuery 7 Ott 2015
WmbertSea
D
Creare Calendario PHP
  • dny18
  • 14 Set 2015
  • PHP
Risposte
0
Visite
2K
PHP 14 Set 2015
dny18
D
A
Pubblicazione dati su calendario settimanale
  • armando31
  • 15 Ago 2015
  • jQuery
  • 2
Risposte
28
Visite
6K
jQuery 13 Set 2015
armando31
A
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?