Hi,
Mein Name ist Andreas. Ich bin vor einer Woche zufällig auf das PHPbb gestoßen und bin davon richtig begeistert.
Ich habe auch gleich ein paar Mods eingebaut und dabei schon das erste Problem.
Beim Birthday Mod wird ja eine Liste der User angezeigt, die in den nächsten xx Tagen Geburtstag haben.
So etwas möchte ich nun in meine Seite exportieren.
Ich habe die Seite schon ins phpbb Forum eingebunden, auf der ich die kommenden Geburtstage anzeigen möchte, brauche jetzt aber die SQL Syntax dazu.
Das Datum ist ja mit mkrealdate(tag.monat.jahr) in der Datenbank gespeichert.
Normalerweise würde ich nun den Tag des Jahren DAYOFYEAR() verwenden um den nächsten Termin herauszubekommen aber dies ist ja leider wegen der Formatierung nicht möglich.
Weiß jemand wie ich es auslesen könnte?
Mfg. -Andi-
[Birthday Mod] nächste Geburtstage auslesen
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Also ich habs mittlerweile geschafft alles auszulesen und habe den Code erweitert, sodass nur die Geburtstage der Mitglieder einer bestimmten Gruppe angezeigt werden.
Ich poste einfach mal den Code, auf dass jemand, der ein ähnliches Problem hat, hier die Lösung findet.
Mfg. -Andi-
Ich poste einfach mal den Code, auf dass jemand, der ein ähnliches Problem hat, hier die Lösung findet.
Mfg. -Andi-
Code: Alles auswählen
function date2timestamp($date) // Format : DD.MM.YYYY
{
if (preg_match("/^([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})$/i",$date))
{
$expDate=explode(".",$date);
return mktime(0,0,0,$expDate[1],$expDate[0],$expDate[2]);
}
else return false;
}
$grab_daten = $db->sql_query("SELECT u.user_id, u.username, u.user_birthday, DAYOFYEAR(NOW()) AS tdj
FROM phpbb_users AS u, phpbb_user_group AS ug, phpbb_groups AS g
WHERE u.user_id = ug.user_id
AND ug.group_id = g.group_id
AND g.group_name = 'TGI'");
while ($row = $db->sql_fetchrow($grab_daten)) {
//Geburtsdatum zum Format DD.MM.YYYY
$auslesen = realdate($lang['DATE_FORMAT'],$row['user_birthday']);
//Datum in Timestamp
$datum = date2timestamp($auslesen);
//Tag des Jahres des Timestamps
$tagdesjahre = date("z", $datum);
//Geburtstag-Tag-des-Jahres MINUS HEUTE-Tag-Des-Jahres (Wenn rechnen <= 31, dann liegt der Geburtstag in den nächsten 31 Tagen)
$rechnen = $tagdesjahre-$row[tdj];
if($rechnen == 1) {
echo date("d. M Y", $datum) . " - " . $row[username] . " <em><b>(morgen)</b></em><br>";
$bla++; }
elseif($rechnen == 0) {
echo "<b>" . date("d. M Y", $datum) . " - " . $row[username] . " <em>(heute)</b></em><br>";
$bla++; }
elseif($rechnen <= 31) {
echo date("d. M Y", $datum) . " - " . $row[username] . "<br>";
$bla++; }
elseif($bla == "" && $abbruch != "ok") {
echo "<em>keine</em>";
$abbruch = "ok"; }
} //Ende While