[Funktion] Nächsten Geburtstag anzeigen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Nächsten Geburtstag anzeigen...

    Hallo,

    Ich suche nach einer Funktion bzw. einfach nur einer Methode wie ich IMMER den nächsten anstehenden Geburtstag anzeigen kann...

    Hab schon viel Hick und Hack versucht, aber das wird ein Code-Haufen.... ich dachte mir vielleicht hat ja jemand eine kurze pragmatische Lösung, vielleicht auch schon eine vorgefertigte ...

    Die Geburtstag sind als DATE in einer MySQL Datenbank gespeichert.

    Bin über jeden Beitrag dankbar!

    Liebe Grüße,

    Marcel


    Mein bisheriges Geplänkel:
    PHP-Code:
    $timestamp time();
    $datumaktuell date("d.m.Y",$timestamp);
    $dateheute explode("."$datumaktuell);
    $jahrheute $dateheute[2];
    $monatheute $dateheute[1];
    $tagheute $dateheute[0];

    $result mysql_query("SELECT * FROM patienten") or die(mysql_error());
    while(
    $row mysql_fetch_array($result))
        {
        
    $patid $row["PatientenID"];
        
    $patgeb $row["PatientenGeb"];
        
    $patgebarr explode("-"$patgeb);
        
    $tag "$patgebarr[2]";
        
    $monat "$patgebarr[1]";

             if (
    $monat != 00 AND "$monat$tag>= "$monatheute$tagheute")
                     {
                     
    $arr[$patid] = "$monat$tag";
                     }

             }
    asort($arr); 
    /(bb|[^b]{2})/ - Das ist hier die Frage!

    (regular expression)

  • #2
    gesucht hast du aber nicht. oder?
    http://www.php-resource.de/forum/sea...der=descending

    *move* 2 sql
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      einfach das date abgleichen und dann kannst du ja selber bestimmen wieviel tage im vorraus !

      Kommentar


      • #4
        Re: [Funktion] Nächsten Geburtstag anzeigen...

        Original geschrieben von aptagsweb.de
        PHP-Code:
                        $arr[$patid] = "$monat$tag";
         
        asort($arr); 
        Der Code wäre schon recht, das ist immer irgendwie ein geknubbel. Du verlierst jedoch die Patienten, die erst im nächsten jahr den nächsten geburtstag haben. dh du musst $arr[$patid] = "$jahr$monat$tag"; haben, und das $jahr korrekt bestimmen

        (insbesondere wenn das skript am 31.12.20xx läuft)

        Kommentar


        • #5
          kriegst ne schöne liste der kommenden geburtstage über folgendes sql:

          Code:
          select * from patienten
          where date_format(PatientenGeb,'%m%d') >= date_format(CURRENT_DATE,'%m%d')
          ORDER BY date_format(PatientenGeb,'%m%d')
          das schiebst du in ein array... und damit die vom nächsten jahr auch mit reinkommen, hängst du folgendes ergebnis diesem array an:

          Code:
          select * from patienten
          where date_format(PatientenGeb,'%m%d') < date_format(CURRENT_DATE,'%m%d')
          ORDER BY date_format(PatientenGeb,'%m%d')


          schöner wärs natürlich mit einem datenbankseitigen union, aber das gibts leider erst ab mysql 4.0 (bei meinem provider noch nicht installiert).

          Kommentar


          • #6
            bin mein eigener Provider, daher machbar...
            /(bb|[^b]{2})/ - Das ist hier die Frage!

            (regular expression)

            Kommentar


            • #7
              http://www.php-resource.de/forum/sho...threadid=69925

              oder so

              Kommentar

              Lädt...
              X