phpbar.de logo

Mailinglisten-Archive

Geburtstage

Geburtstage

Dietmar Möller mysql_(at)_lists.phpcenter.de
Wed, 6 Jun 2001 03:08:51 +0200


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 



php::bar PHP Wiki   -   Listenarchive