Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2018, 23:45   #1
zebmckey
Member
 
Iscritto dal: Apr 2016
Messaggi: 72
calendario php

ho un problema con un piccolo calendario in php.
Praticamente mi restituisce tutti i mesi con 31 giorni. Come posso risolvere e assegnare ad ogni mese la giusta lunghezza?

calendario.inc

Codice PHP:
<?php
    
/**
     * Calender class
     */
    
     
class Calender {
         
         public  
$year '';
         public  
$month '';
         public 
$intToDay = array(
                                     
0=>'Sunday',
                                     
1=>'Moday',
                                     
2=>'Tuesday',
                                     
3=>'Wednesday',
                                     
4=>'Thursday' ,
                                     
5=>'Friday' ,
                                     
6=>'Saturday' 
                                    
);
         public 
$intToMonth = array(
                                     
1=>'January',
                                     
2=>'February',
                                     
3=>'March',
                                     
4=>'April' ,
                                     
5=>'May' ,
                                     
6=>'June' ,
                                     
7=>'July',
                                     
8=>'August',
                                     
9=>'September',
                                     
10=>'October',
                                     
11=>'November' ,
                                     
12=>'December'                                  
                                    
);
         
         
/**
          * constructor function
          */
         
public function Calender($year) {
             
             
$this->year $year;
         }
         
         
/**
          * get code for 
          * 
          * @param int $month
          * 
          */
         
public function getCodeForMonth($month) {
             
            
$this->month $month;
            
             
$startingDay date("l"mktime(000$month1$this->year));
             
             
$returnCode '<table border="1" align="center" style="color:brown"> <tr>';
                for (
$count 0$count 7$count++) {
                    
$returnCode .= "<td align=\"center\" style=\"color:red\"><strong>".$this->intToDay[$count]."</strong></td>";
                }
                
$returnCode .= "</tr> <tr>";
                
                for (
$count 0$count array_search($startingDay$this->intToDay); $count++) {
                    
$returnCode .=  "<td><br /></td>";
                }
                
                for (
$counter 1$counter <= 31$counter++, $count++) {
                    if ((
$count 7) == 0) {
                        
$returnCode .= "</tr> <tr>";
                    }
                    
$returnCode .= "<td align=\"center\">".$counter."</td>";
                }
                
$returnCode .= '</table>';
                
             return 
$returnCode;
         }
         
         public function 
getCode($month) {
             
            
$this->month $month;
            
             
$startingDay date("l"mktime(000$month1$this->year));
             
             
$returnCode '<table border="1" align="center" style="color:brown"> <tr>';
                for (
$count 0$count 7$count++) {
                    
$returnCode .= "<td width=\"65\" align=\"center\" style=\"color:#000000;background-color:#6779AC\"><strong>".$this->intToDay[$count]."</strong></td>";
                }
                
$returnCode .= "</tr> <tr>";
                
                for (
$count 0$count array_search($startingDay$this->intToDay); $count++) {
                    
$returnCode .=  "<td><br /></td>";
                }
                
                for (
$counter 1$counter <= 31$counter++, $count++) {
                    if ((
$count 7) == 0) {
                        
$returnCode .= "</tr> <tr>";
                    }
                    
$monthName $this->intToMonth[$month];
                    
                    if ( (
$month date('n') || $this->year date('Y')) )
                    {
                        
$returnCode .= "<td align=\"center\" style=\"background-color:#ABCED6;\"><span><b>".trim($counter)."</b></span></td>";
                    }
                    else {
                        
$returnCode .= "<td align=\"center\" style=\"background-color:#ABCED6;\"><span style=\"cursor:pointer;cursor:hand;background-color:#ABCED6;\" onclick=\"openWindow('$counter-$this->month-$this->year');\"><b>".trim($counter)."</b></span></td>";
                    }
                }
                
$returnCode .= '</table>';
                
             return 
$returnCode;
         }
         
     }
?>
test.php

Codice PHP:
<?php
    
    
require_once('calender.inc.php');
    
    
$calender = new Calender('2018');
    
    for (
$i 0$i 12$i++) {
        
$month $i+1;
        echo 
"<center><hr />".$calender->intToMonth[$month]." ".$calender->year."<hr /></center>".$calender->getCodeForMonth($i);
    }
    
?>
    <!--table align="center" width="80%" align="center" border="1">
        <tr>
            <td align="center" style="font-family:verdana;font-size:30"> 
                <strong> <?php echo $calender->intToMonth[$calender->month].' '.$calender->year;  ?></strong>
            </td>
        </tr>
                
        <tr>
            <td>
                <?php echo $jan?>
            </td>
        </tr>
    </table -->
Grazie per il vostro prezioso aiuto

Ultima modifica di zebmckey : 26-02-2018 alle 13:50. Motivo: -- RISOLTO --
zebmckey è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2018, 11:02   #2
RagingBull
Member
 
L'Avatar di RagingBull
 
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
potresti inserire un controllo sul mese che vuoi stampare: se hai aprile, giugno, settembre e novembre il tuo loop si fermerà a 30; se hai febbraio puoi fare un controllo veloce sull'anno per vedere se è bisestile e quindi impostare il loop a 28 o a 29; in tutti gli altri casi 31.
RagingBull è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2018, 19:41   #3
Pbdz
Member
 
Iscritto dal: May 2003
Messaggi: 57
Puoi usare la funzione cal_days_in_month() che ti restituisce il numero di giorni in un determinato mese.

Qui un esempio di come usarla:
https://www.w3schools.com/php/func_c...s_in_month.asp
Pbdz è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2018, 16:44   #4
zebmckey
Member
 
Iscritto dal: Apr 2016
Messaggi: 72
Quote:
Originariamente inviato da RagingBull Guarda i messaggi
potresti inserire un controllo sul mese che vuoi stampare: se hai aprile, giugno, settembre e novembre il tuo loop si fermerà a 30; se hai febbraio puoi fare un controllo veloce sull'anno per vedere se è bisestile e quindi impostare il loop a 28 o a 29; in tutti gli altri casi 31.
Scusami, io sono un neofita e sto imparando, come lo inserisco un controllo? Devo richiamare l'array e far sì che il $counter fermi il loop a 30?

Inviato dal mio PLK-L01 utilizzando Tapatalk
zebmckey è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Apple Studio Display finalmente in offer...
OpenAI sfida Google e lancia ChatGPT Tra...
Attenti ai commenti LinkedIn: come ricon...
Xiaomi Redmi Note 15 al prezzo minimo ga...
REDMI Buds 8 Lite in arrivo in Italia: A...
USA: i dettagli del via libera condizion...
I nuovi REDMI Note 15 Series arrivano in...
Mini compressore portatile a prezzo stra...
X limita Grok: stop alle immagini sessua...
Dopo essere diventato indipendente, GOG ...
L'idea del CEO Fiat: abbassare la veloci...
Ricavi record per TSMC nel quarto trimes...
vivo X300 Pro scende di 200€ su Amazon c...
Prezzi alle stelle per gli smartphone: i...
God of War: individuato l'attore che int...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v