ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
418
418
EMPFEHLEN
-
Hallo zusammen,
ich habe eine Datenbank mit Vereinsmitgliedern, in welcher neben vielen anderen Daten über die Personen auch das Geburtsdatum gespeichert ist.
Ich möchte nun auf der Website mithilfe von PHP und SQL eine Liste ausgeben, auf welcher die 5 nächsten Geburtstage von Mitgliedern inklusive deren Namen ausgegeben werden.
Gibt es dafür ein Script, welches auf eine vorhandene DB zugreift, oder muss ich dass selber schreiben? Falls letzteres gilt, wie stelle ich das am unkompliziertesten an?
Vielen Dank für Hinweise.
Besten Gruss
Skribi
-
15.05.11 12:31 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.520
Da du die Datenbank-Struktur selbst erstellt hast, sehe ich keinen Grund, warum es ein solches Script schon geben sollte. Das wirst du wohl selbst schreiben müssen.
Da du anscheinend noch keine Idee hast, wie man mit PHP auf Datenbanken zugreift, empfehle ich dir ein Anfänger-Tutorial in Augenschein zu nehmen, in dem das Thema behandelt wird. Da es leider (noch) keine Suchfunktion in der Tutorials-Sektion gibt, hab ich mal was für dich rausgesucht:
http://www.tutorials.de/php-videotut...k-27-37-a.htmlGrüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Nun ja, soweit war ich natürlich auch schon. Ich war allerdings etwas faul und hatte gehofft, dasses bereits einen Beispielcode gibt, der sich leicht anpassen lässt. Anbei meine Lösung für das Anzeigen der Mitglieder, deren Geburtstag in den kommenden 30 Tagen liegt:
PHP-Code:$query = "SELECT roepnaam, achternaam, birthdate FROM fa_pass0_data WHERE DAYOFYEAR(curdate()) <= dayofyear(birthdate) AND DAYOFYEAR(curdate()) +30 >= dayofyear(birthdate)
ORDER BY DAYOFYEAR(birthdate) ASC
LIMIT 5";
$date = $arr['birthdate'];
$result = mysql_query($query);
while ($arr = mysql_fetch_array($result))
{
echo "<b>".$arr['roepnaam']." ".$arr['achternaam']."</b>"." "."<span class=\"lessimportanttext\">".date('d.m.Y', strtotime($arr['birthdate']))."</span>";
echo "<br>";
}
-
29.05.11 12:41 #4
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.520
Hmm, ich hab das jetzt nicht geprüft, aber für mich sieht der Code so aus, als würde beispielsweise folgendes Szenario nicht funktionieren:
Saftmeister hat am 03.01. (fiktiv) Geburtstag und heute ist der 26.12. (fiktiv).Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hm, beim Jahresende mag deine Vermutung stimmen. Ich habe dafür allerdings keine Lösung parat, dies übersteigt dann doch meine Kenntnisse...
...bin aber für Verbesserungsvorschläge immer offen.
-
29.05.11 13:09 #6
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.520
Möglicherweise geht das mit Hilfe von DATE_ADD etwas genauer. Folgendes Beispiel-SQL:
Code sql:1 2 3
SELECT dayofmonth( date_add( '2011-12-26', INTERVAL 30 DAY ) ) , MONTH( date_add( '2011-12-26', INTERVAL 30 DAY ) )
Wenn du das DAYOFYEAR beim Tag gegen DAYOFMONTH und beim Monat gegen MONTH austauschst, kommt das in etwa hin. Ich werde noch kein komplettes Beispiel posten, versuch es zunächst selbst raus zu finden. Wenn du nicht weiter weißt, zeig deinen Versuch und darüber diskutieren wir dann
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
Ähnliche Themen
-
Geburtstagsliste mit Resttagen
Von peethebee im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 11.09.05, 13:57 -
Abfrage für eine Geburtstagsliste erstellen
Von ukyo184 im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 17.03.05, 12:17





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren