Teil von  SELFPHP   Teil von  Code Snippets / PHP / Zeit- und Datumsoperationen
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Aktuelles Datum in einem Kalender hervorheben (CSS-Layout)





Beispielaufgabe

Aktuelles Datum soll als Monatsübersicht in einem Kalender hervorgehoben werden.



Beschreibung

Die Funktion calendarControl() erzeugt eine Kalenderdarstellung für den aktuellen Monat und hebt farblich den aktuellen Tag hervor. Bei diesem Kalender wurde vollständig auf Tabellen verzichtet und kann somit über ein Style-Sheet sehr einfach angepasst werden. Weiterhin sind Anpassungen sehr einfach durchzuführen (z.B. Verlinkung des aktuellen Tages zu einer bestimmten Webseite).



<?PHP 

function calendarControl() {

    
/* locale auf Deutsch setzen PHP >= 4.3.0 */
    
setlocale(LC_ALL'de_DE@euro''de_DE''deu_deu');

    
$currentMonth date("n");
    
$currentTime time();

    
// Wochentag für den 1. im Monat ermitteln
    
$firstWeekDay date 'w'mktime 000$currentMonth1,
                    
date 'Y' ) ) ); 
                
    
// Im Englischen beginnt die Wochenrechnung am Sonntag --> 0
    // Daher den Wochenbeginn der nächsten Woche berechnen
    
$nextWeek $firstWeekDay 2;

    
// Ausgeschriebener Monat - z.B. Dezember
    
$year strftime("%B"$currentTime );

    
// Abgekürzter Wochentag - z.B. Sa
    
$day strftime("%a"$currentTime );

    
$calendar "\n";
    
$calendar .= '<div class="calout">' "\n";
    
$calendar .= '    <div class="calcellTop">' $year '</div>' "\n";

    
// Wochentage generieren
    
for ( $x $nextWeek$x < ($nextWeek 7); $x++ ){
    
        
$day strftime("%a"mktime 000$currentMonth$x,
                    
date 'Y' ) ) );
                
        
$calendar .= '    <div class="calcellday">' $day '</div>' "\n";
    
    }

    
$iLimit date 't'mktime 000$currentMonth1
                     
date 'Y' ) ) ); 
    
// Tagesanzeige generieren
    
for ( $i 1$i <= ( $iLimit $firstWeekDay ); $i++ ) {
                     
        
$iDayOfMonth $i $firstWeekDay 1;
    
        if ( 
$i $firstWeekDay ) {
             
            
// Leerzellen schreiben, bis Monatsanfang 
            // auf den richtigen Tag der Woche faellt. 
            
$calendar .= '    <div class="calcell">&nbsp;</div>' "\n";
          
        } 
          elseif ( 
$iDayOfMonth == date 'd' 
               && 
$currentMonth == date'n' ) ) { 
        
            
// Heutigen Tag, hervorheben. 
            
$calendar .= '    <div class="calcellactive">' $iDayOfMonth '</div>' "\n";
          
        } 
          else {

              
$calendar .= '    <div class="calcell">' $iDayOfMonth '</div>' "\n";
      
          } 

    }

    
$calendar .= '</div>' "\n";

    return 
$calendar;

}

?>



Anwendungsbeispiel

<?PHP

echo calendarControl();

?>



Cascading Style Sheets (CSS)

.calout {
font-family:Tahoma, Geneva, sans-serif;
font-size:10px;
text-align:center;
width:150px;
}

.calcellTop {
float:left;
width:100%;
color:#333399;
font-size:14px;
font-weight:bold;
}

.calcellday {
float:left;
width:14%;
font-weight:bold;
}

.calcell {
float:left;
width:14%;
}

.calcellactive {
float:left;
width:14%;
background-color:#CC0000;
color:#FFFFFF;
}



Ausgabebeispiel: Browseransicht

April
Mo
Di
Mi
Do
Fr
Sa
So
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30






 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt