Hallo,
ich habe ein Problem mit Datumsvergleichen, bekomme es einfach nicht hin, weshalb ich um eure Hilfe bitte.
Ich habe folgende 2 Tabellen in einer MySQL-Datenbank (personen, altersklassen).
personen (enthält alle notwendigen Daten der Spieler, u.a. das Geburtsdatum):
id (int)
vorname (varchar)
nachname (varchar)
geburtstag (date)
altersklassen (hierin werden die Altersklassen entsprechend mit einem Start- und Enddatum fest definiert):
id (int)
altersklasse (varchar)
start_date (date)
end_date (date)
Folgendes möchte ich nun in die Praxis umsetzen. Entsprechend dem Geburtsdatum eines Spielers aus der Tabelle personen soll mit einer Datenbank-Abfrage die zugehörige Altersklasse aus der Tabelle altersklassen ausgegeben werden.
Beispiel:
vorname: Max
nachname: Meier
geburtstag: 1989-01-04
In der Tabelle altersklassen soll nun geprüft werden, welcher Altersklasse der Spieler aufgrund seines Geburtsdatums zugehörig ist.
Im genannten Beispiel wäre dies "Senioren", da das Geburtsdatum innerhalb von start_date und end_date der Senioren liegt:
start_date: 1995-12-31
end_date: 1960-12-31
altersklasse: Senioren
Es geht um die DB-Abfrage, die bei mir kein entsprechendes Ergebnis liefert. Das Geburtsdatum des Spielers ist in der Variable $datensatz[geburtstag] gespeichert. Folgendermaßen sieht die Abfrage derzeit bei mir aus:
Nach "Altersklasse:" steht nix. Kann mir jemand helfen und sagen, woran das liegt?
Vorher habe ich mich natürlich mit der Datenbank verbunden, andere Abfragen funktionieren.
Vielen Dank schon einmal im Voraus, ich freue mich auf eure Antworten und Hilfen.
ich habe ein Problem mit Datumsvergleichen, bekomme es einfach nicht hin, weshalb ich um eure Hilfe bitte.
Ich habe folgende 2 Tabellen in einer MySQL-Datenbank (personen, altersklassen).
personen (enthält alle notwendigen Daten der Spieler, u.a. das Geburtsdatum):
id (int)
vorname (varchar)
nachname (varchar)
geburtstag (date)
altersklassen (hierin werden die Altersklassen entsprechend mit einem Start- und Enddatum fest definiert):
id (int)
altersklasse (varchar)
start_date (date)
end_date (date)
Folgendes möchte ich nun in die Praxis umsetzen. Entsprechend dem Geburtsdatum eines Spielers aus der Tabelle personen soll mit einer Datenbank-Abfrage die zugehörige Altersklasse aus der Tabelle altersklassen ausgegeben werden.
Beispiel:
vorname: Max
nachname: Meier
geburtstag: 1989-01-04
In der Tabelle altersklassen soll nun geprüft werden, welcher Altersklasse der Spieler aufgrund seines Geburtsdatums zugehörig ist.
Im genannten Beispiel wäre dies "Senioren", da das Geburtsdatum innerhalb von start_date und end_date der Senioren liegt:
start_date: 1995-12-31
end_date: 1960-12-31
altersklasse: Senioren
Es geht um die DB-Abfrage, die bei mir kein entsprechendes Ergebnis liefert. Das Geburtsdatum des Spielers ist in der Variable $datensatz[geburtstag] gespeichert. Folgendermaßen sieht die Abfrage derzeit bei mir aus:
Code:
$abfrage = mysql_query("SELECT * FROM altersklassen WHERE '$datensatz[geburtstag]' between start_date and end_date"); $ergebnis = mysql_fetch_assoc($abfrage); echo "Altersklasse: $ergebnis[altersklasse]";
Vorher habe ich mich natürlich mit der Datenbank verbunden, andere Abfragen funktionieren.
Vielen Dank schon einmal im Voraus, ich freue mich auf eure Antworten und Hilfen.
Kommentar