Hmm, komischer Code. Du hast, wenn ich das richtig verstehe, also eine Textdatei, in der alle User mit Geburtsdatum drinstehen. Welches Format hat denn diese Datei, kannst Du ggf. mal eine Beispielzeile posten?
Ich hab den Code mal leidlich kommentiert, um ihn für Dich ein bisserl nachvollziehbar zu machen.
<?php
// lege Array mit den Monatsnamen an
$monate = array(1=>"Januar",
2=>"Feber",
.........
12=>"Dezember");
// speichere den aktuellen Monat in $monat1
$monat1 = $monate[date("n")];
// Initialisierung
$geburtstage = file("geburtstage.txt");
$ausgabe = "";
$gb_counter = 0;
$jahr = date("Y");
// für jede Zeile in der Quelldatei
foreach ($geburtstage as $geburtstag) {
// trenne die Zeile jeweils am Zeichen "|" und speichere die einzelnen Bestandteile in $name, $tag und $monat
list($name, $tag, $monat) = explode("|", $geburtstag);
// Wenn in $monat der aktuelle Monat gespeichert ist
if ($monat == date("m")) {
// füge eine Zeile an die Ausgabevariable an
$ausgabe .= "" . $name . "
Geburtstag: " . $tag . "." . $monat . "." . $jahr . "
" . "Alles Gute!
";
// und erhöhe den Counter um 1
$gb_counter++;
}
}
// Ergebnis ausgeben
$satz .= "" . "In " . $monat1 . ((($gb_counter == 1) ? " hat " : " haben ")) . "
" .
$gb_counter . ((($gb_counter == 1) ? " Mitglied" : " Mitglieder")) . " Geburtstag
";
$link1 = "javascript: window.location.reload()";
echo "$satz";
// Ausgabe der Namen und Daten
echo $ausgabe;
?>
Also, wenn im Satz steht, dass mindestens ein User Geburtstag hat, müsste eigentlich auch danach die Liste ausgegeben werden, in der auch mindestens ein Eintrag vorhanden ist. Sag ich jetzt mal so.
Das "Alle Gute" in jeder Zeile ist aber sinnfrei, oder? Das würde doch zu einer Ausgabe in der Form:
Marc 13. Januar
Alles Gute
Joachim 15. Januar
Alles Gute
.... führen. Soll das so?
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Beitrag erstellen
EinloggenKostenlos registrieren