phpbar.de logo

Mailinglisten-Archive

Geburtstage

Geburtstage

Andre Krajnik mysql_(at)_lists.phpcenter.de
Fri, 08 Jun 2001 19:41:59 +0200


Hi Dietmar,

hinter der Lösung suche ich auch schon seit langem her. Wenn der blöde
Jahreswechsel nicht wäre, wärs ja ganz einfach. Aber bisher bin ich auch
ratlos, und hoffe mit Dir auf eine Lösung. Ich habe Das Geburtsdatum
allersings als Datums-Feld angelegt, so daß ich mit dem Alter kein
Problem habe, sondern nur mit den nächsten x Geburtstagen.

Dietmar Möller schrieb:
> 
> Hallo Liste,
> 
> wir hatten schon einmal einen ähnlichen Fall in der Liste, doch die
> Antworten konnten mir leider nicht weiterhelfen. Das Problem:
> 
> Zu Grunde liegt eine Tabelle "personen" die unter anderem das Geburtsdatum
> in geburtsjahr, geburtsmonat und geburtstag unterteilt enthält.
> Nun will ich per PHP die nächsten 5 Geburtstage vom heutigen Datum an
> ausgeben. Mittels dieser umständlichen Programmierung gelingt es zwar alle
> Geburtstage ab heute bis Jahresende auszugeben, aber das ist nicht mein
> Ziel. Es muss doch möglich sein, schon in der Query eine entsprechende
> Funktion einzubauen. Hab dies mit Variablen versucht - aber ohne Erfolg.
> Mein Ziel: Die nächsten 5 Geburtstage ab heute (incl.), auch über den
> Jahreswechsel hinweg. Schöne wäre es auch noch in einer zusätzlichen Spalte
> dann das Alter auszugeben, welches an diesem Datum erreicht wird.
> Unten mein verkorkstes PHP-Script.
> 
> Danke schon mal im Vorraus.
> Gruß
> Dietmar Möller
> 
> <?php
> 
> $link = mysql_connect("localhost", "user", "pass");
> $datbas = mysql_select_db("db");
> 
> $aktdat = mktime(0, 0, 0, date ("m") , date ("d"));
> 
> $result = mysql_query("SELECT name, vorname,email,gebtag,gebmonat,gebjahr
> FROM personen Where gebtag<>0 ORDER BY gebmonat,gebtag");
> $cols = mysql_num_fields($result);
> 
> while($row = mysql_fetch_array($result))
> {       echo "<tr>";
>       $geb = date ("d.m.Y", mktime(0, 0, 0, date ($row[gebmonat]) , date
> ($row[gebtag]), date($row[gebjahr])));
>           $gebun = mktime(0, 0, 0, date ($row[gebmonat]) , date ($row[gebtag]));
>           if ($gebun > $aktdat) {
>                   echo "<td  height='25' align='center'><font size='1'
> face='Arial'>".$row[name]."</font></td>";
>                   echo "<td  height='25' align='center'><font size='1'
> face='Arial'>".$row[vorname]."</font></td>";
>               echo "<td  height='25' align='center'><font size='1'
> face='Arial'>".$geb."</font></td>";
>               echo "<td  height='25' align='center'><font size='1' face='Arial'><a
> href='mailto:$row[email]'>".$row[email]."</font></td>";
> 
>           echo "</tr>";
>           echo "</tr>\n";
>                   };
> };
> mysql_free_result($result);
> mysql_close();
> 
> ?>
> 
> ---
> !!NEU!!
> Fragen und Antworten zu MySQL und dieser Liste unter
> -->>  http://www.4t2.com/mysql

-- 
mfg

Andre

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive