PHP - Adventkalender

16 08 23 14 06 24 04 21 05 10 20 01 19 09 17 03 13 18 11 15 07 22 02 12

In dieser Demo ist jeder Monat aktiv, man braucht also nur den heutigen Tag (1-24) auszuwählen.


<?php

// Adventkalender
// Peter Ortner / Werner Zenk


// Monat
// Zum testen auf den aktuellen Monat stellen
$monat 12;

// Sprüche zu Weihnachten
$spruch[1] = 'Spruch 1 ...';
$spruch[2] = 'Spruch 2 ...';
$spruch[3] = 'Spruch 3 ...';
$spruch[4] = 'Spruch 4 ...';
$spruch[5] = 'Spruch 5 ...';
$spruch[6] = 'Spruch 6 ...';
$spruch[7] = 'Spruch 7 ...';
$spruch[8] = 'Spruch 8 ...';
$spruch[9] = 'Spruch 9 ...';
$spruch[10] = 'Spruch 10 ...';
$spruch[11] = 'Spruch 11 ...';
$spruch[12] = 'Spruch 12 ...';
$spruch[13] = 'Spruch 13 ...';
$spruch[14] = 'Spruch 14 ...';
$spruch[15] = 'Spruch 15 ...';
$spruch[16] = 'Spruch 16 ...';
$spruch[17] = 'Spruch 17 ...';
$spruch[18] = 'Spruch 18 ...';
$spruch[19] = 'Spruch 19 ...';
$spruch[20] = 'Spruch 20 ...';
$spruch[21] = 'Spruch 21 ...';
$spruch[22] = 'Spruch 22 ...';
$spruch[23] = 'Spruch 23 ...';
$spruch[24] = 'Spruch 24 ...';

// Farben
$tag_nein 'bg-rot';
$tag_ja 'bg-gruen';
?>
<!DOCTYPE html>
<html lang="de-at">
<head>
<meta charset="UTF-8">
<title>Adventkalender</title>
<meta name="viewport" content="width=device-width,initial-scale=1">

<style>
body {font:130% "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;color:#000;text-align:left;font-weight:300;}

.content {display:block;background:#eee;width:80%;margin:50px auto 0 auto;padding:50px;}
.ausgabe {margin-top:50px;}
.footer {text-align:center;margin-top:50px;}

a {text-decoration:none;}
.bg-rot {background:#800;color:#fff;margin:2px;padding:15px 25px;line-height:60px;text-align:right;}
.bg-gruen {background:#690;color:#fff;margin:2px;padding:15px 25px;line-height:60px;}
</style>

</head>
<body>

<section class="content">

<?php
$tage 
range(124);
shuffle($tage);
$weihnachtsTag false;

foreach (
$tage as $tag) {
 echo 
' <a href="?tuerchen=' sprintf("%02d"$tag) . '" class="';
 
 if (isset(
$_GET['tuerchen']) &&
  (
$_GET['tuerchen'] . '.' sprintf("%02d"$monat) . '.' date('Y')) == date("d.m.Y") &&
   
$_GET['tuerchen'] == $tag) {
  echo 
$tag_ja;
  
$weihnachtsTag true;
 }
 else {
  echo 
$tag_nein;
 }

 echo 
'">' sprintf("%02d"$tag) . ' </a>';
}

if (isset(
$_GET['tuerchen'])) {
 if (
$weihnachtsTag) {
  echo 
'<div class="ausgabe">Heute ist der ' . (date('d') . '.' sprintf("%02d"$monat) . '.' date('Y')) .
  
'<br>&bdquo;' $spruch[floor($_GET['tuerchen'])] . '&rdquo;</div>';
 }
 else {
  echo 
'<div class="ausgabe">Ujeee... Du hast den falschen Tag erwischt, da heute nicht der ' . ($_GET['tuerchen'] . '.' sprintf("%02d"$monat) . '.' date('Y')) . ' ist.</div>';
 }
}
?>

</section>

<footer class="footer">
<a href="./">zurück</a>
</footer>

</body>
</html>

Bausteine

Eine zufällige Auswahl von „Bausteinen” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - HTML-Elemente als Tabelle formatieren

PHP - CSV-Datei in eine DB-Tabelle einlesen

JavaScript - Eine Animation ab einer bestimmten Scroll-Position starten

MySQL - Datensätze (Gehalt) zwischen 2000 und 3000 anzeigen