Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2018, 22: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 12:50. Motivo: -- RISOLTO --
zebmckey è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2018, 10: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, 18: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, 15: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


Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Samsung Galaxy Book3 Pro con Intel Core ...
Panasonic LUMIX DC-GH6 a 1.799€ con il 1...
Lenovo ThinkPad P1 Gen 7, la prima works...
Blizzard gela i fan: BlizzCon 2024 cance...
AI PC: Intel punta a superare 40 milioni...
La Cina ha lanciato la missione Shenzhou...
La sonda spaziale NASA Psyche comunica v...
Dacia Duster, prima guida: con le versio...
Google Pixel 8 Pro 256 GB a 928€ (minimo...
Arriva l'ok da Parlamento europeo sul di...
RISC-V: l'uso dell'ISA open-source da pa...
Amazon scatenata: iPad a 399€, airfryer ...
SK hynix, costruzione della Fab M15X ai ...
Oggi 459€ per utenti Prime il portatile ...
Sta per succedere! La prima gara a guida...
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: 07:10.


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