Christoph : While machts einmal zuviel

Hi,

hab mir ne kleine Abfrage gebaut die aus einer DB die Geburtsdaten ausliest und diese mit dem aktuellen Datum vergleicht...

Bisher klappt auch alles wunderbar bis auf das mir die Whileschleife anstatt 1 zutrefenden Ausgabe 2 macht :)

Obwohl die Bedingungen nur 1mal erfüllt sind gibt mir die Schleife das Ergebniss 2mal zurück...

Kann mir jemand von euch sagen wie ich dieses umgehen kann ?

Hier die Schleife:

$data = mysql_query ( "SELECT gebdatum FROM freunde WHERE $this->tag = gebdatum " );

while( $row = mysql_fetch_array($data) ){

echo substr($row[gebdatum],0,5);
    echo "<br>";

}

Danke für eure Hilfe...

Grüsse

Christoph

  1. Hallo

    $data = mysql_query ( "SELECT gebdatum FROM freunde WHERE $this->tag = gebdatum " );

    Wie wäre es, wenn Du mit mysql_num_rows() überprüfen würdest, ob Du wirklich nur ein Ergebnis erhalten hast?

    while( $row = mysql_fetch_array($data) ){
        echo substr($row[gebdatum],0,5);

    echo substr($row['gebdatum'],0,5),"<br>";

    Es sei denn, Du hast gebdatum als Konstante definiert ;-)

    Noch ein Tipp am Rande:
    Es ist eine ganz hervorragende Idee, zum Abspeichern von Datumswerten den Datentyp DATE zu verwenden, da gibt es schöne DB-Funktionen dazu. Sicherlich hast Du den Aufwand, beim Abspeichern ein richtiges Format zu wählen.

    Es ist _keine_ gute Idee, ein Datum als Zeichenkette abzuspeichern.
    Das erspart Dir überflüssige Stringmanipulationen.

    Gruss,

    Vinzenz