Bazzel
Themenersteller
Content Meister (251 Beiträge)
PHP Geburtstagsliste (Seite 2)
Bazzel
Content Meister (251 Beiträge)
willmann
TYPO3-Freelancer.
Guru (246 Beiträge)
Bazzel schrieb:
Da hast du mir ja eine Mammut Aufgabe gegeben Habe es aber fast geschafft.
Nur mit seinen Aufgaben kann man wachsen
Den Anhang kann ich leider nicht öffnen; Fehlermeldung: "Anhang existiert nicht".
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Bazzel
Content Meister (251 Beiträge)
Guten Morgen Marc,
immer diese Anhänge, die wollen bei mir einfach nicht So hier mal was ich bisher habe.
Geburtstage
<?php
// Geburtstag
$monate = array(1=>"Januar", // Aktuellen Monat einfügen
2=>"Feber",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$monat1 = $monate[date("n")];
// Initialisierung
$geburtstage = file("geburtstage1.txt");
$ausgabe = "";
$gb_counter = 0;
$jahr = date("Y");
// Textdatei auslesen
foreach ($geburtstage as $geburtstag) {
list($name, $tag, $monat, $jahr_g) = explode("|", $geburtstag);
// farbliche Markierung für runde Geburtstage
if ($monat == date("m")) {
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;{
if ($isJubilee) $ausgabe .= \'
\';
$ausgabe .= "" . $name . "
Geburtstag: " . $tag . "." . $monat . "." . $jahr_g . "
\\n" . "Alles Gute!
";
if ($isJubilee) $ausgabe .= \'
\';
$gb_counter++;
}
}
// Ist Monat = aktueller Monat
if ($monat == date("m")) {
$ausgabe .= "" . $name . "
Geburtstag: " . $tag . "." . $monat . "." . $jahr_g . "
\\n" . "Alles Gute!
";
$gb_counter++;
}
}
// Erstellen erster Satz
$satz .= "" . "In " . $monat1 . ((($gb_counter == 1) ? " hat " : " haben ")) . "
" .
$gb_counter . ((($gb_counter == 1) ? " Mitglied" : " Mitglieder")) . " Geburtstag
\\n";
// Farbe für IE einstellen
echo \'<body bgcolor="F4F4F4">\';
// Ausgabe des ersten Satzes als Link zum Reloaden der Seite
echo $satz;
// Ausgabe der Namen und Daten
echo $ausgabe;
?>
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;{
Also so wie ich das sehe ist diese Abfrage Falsch da sie immer ja liefert oder?
Er zählt auf 14 also laufen beide (// farbliche Markierung... sowie // Ist Monat = .... ) IF anfragen durch (alle doppelt vorhanden).
Seltsam ist bloß das keine der Ausgaben ROT Formatierter Text ist. Das irritiert mich ein wenig da eine frühere Version die ich Testete 7 x rot und 7 x blau ausspuckte.
Viele Grüße Joachim
Rock'n'Roll Club Lörrach
Deutsche Meisterschaft 2009 Rock'n'Roll
  Â
willmann
TYPO3-Freelancer.
Guru (246 Beiträge)
guten Morgen.
Die Klammer hinter
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;
ist falsch (oder mindestens unnötig). In der Zeile wird geprüft, ob ( aktuelles_Jahr - Geburtstagsjahr) ohne Rest durch 10 teilbar ist (Modulorechnung). Falls das so ist, wird die Variable $isJubilee auf true gesetzt.
Du könntest auch schreiben:
if (date("Y") - $jahr_g % 10 == 0) {
$isJubilee = true;
}
Danach wird an zwei Stellen geprüft, ob diese Variable wahr ist, um ggf. den DIV-Container für die andere Farbe drumzulegen:
if ($isJubilee) $ausgabe .= \'
\';
oder
if ($isJubilee) {
$ausgabe .= \'
\';
}
bzw.
if ($isJubilee) {
$ausgabe .= \'
\';
}
Wie stehen denn die Geburtstage in Deinem TXT-File drin? mit 4-stelligen Jahreszahlen?
Viele Grüße
Marc
Den zweiten Block brauchst Du dann auch nicht; weil der erste eigentlich schon alle Geburtstage ausspucken sollte.
[...]
// farbliche Markierung für runde Geburtstage
if ($monat == date("m")) {
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;{
if ($isJubilee) $ausgabe .= \'\';
$ausgabe .= "" . $name . "
Geburtstag: " . $tag . "." . $monat . "." . $jahr_g . "
\\n" . "Alles Gute!
";
if ($isJubilee) $ausgabe .= \'
\';
$gb_counter++;
}
}
// Ist Monat = aktueller Monat
if ($monat == date("m")) {
$ausgabe .= "" . $name . "
Geburtstag: " . $tag . "." . $monat . "." . $jahr_g . "
\\n" . "Alles Gute!
";
$gb_counter++;
}
}
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;{
Also so wie ich das sehe ist diese Abfrage Falsch da sie immer ja liefert oder?
Er zählt auf 14 also laufen beide (// farbliche Markierung... sowie // Ist Monat = .... ) IF anfragen durch (alle doppelt vorhanden).
Das doppelte kommt von den zwei Blocks, wie oben schon erwähnt. Schmeiß den zweiten raus.
Viele Grüße
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Bazzel
Content Meister (251 Beiträge)
Hallo Mark,
das $isJubilee war eine Hilfsvariable jetzt wo du es sagst sehe ich es auch J
Ja die Jahreszahlen sind vierstellig eingetragen.
Beispiel
Joachim Test|9|1|1979|
Sven Test|14|1|1980|
Michael Versuch|15|1|1981|
Die Abfrage ob es ein Runder Geb. ist Funktioniert noch nicht. Vergleich mal die Jahreszahlen in der Liste. Die Eintragung von Sven sollte rot sein. Irgendwo ist da noch ein Problem.
Code im Anhang.
Viele Grüße Joachim
Rock'n'Roll Club Lörrach
Deutsche Meisterschaft 2009 Rock'n'Roll
  Â
willmann
TYPO3-Freelancer.
Guru (246 Beiträge)
*argh* Mach mal aus
if (date("Y") - $jahr_g % 10 == 0) $isJubilee = true;
if ((date("Y") - $jahr_g) % 10 == 0) $isJubilee = true;
Du willst ja (2010 - 1980) % 10 rechnen (=0) und nicht (2010 - 1980%10) (=2010)
Marc
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Bazzel
Content Meister (251 Beiträge)
willmann
TYPO3-Freelancer.
Guru (246 Beiträge)
gerne, gerne. Geld, Gold, Millionen einfach zu meinen Händen schicken
Marc
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Das Seitenreport Forum hat aktuell 5282 Themen und 36117 Beiträge.
Insgesamt sind 48374 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren