Hallo,
ich habe bei folgender DB Abfrage ein Proble.
Auszug aus der DB
nr|heimteam|gastteam |spieldatum | datum_neu|
--------------------------------------------------------
1 | 6 | 5 | 20.03.2007| 30.03.2007
2 3 | 6 | 25.03.2007| |
Mit meiner Abfrage möchte ich nun folgendes erreichen.
Es soll mir z.B von Team 6 der nächste Spieltag angezeigt werde.
Funzt soweit, aber wenn in datum_neu ein Wert steht, soll dieser in die Sortierung mit einbezogen werden.
In obigen Beispiel sollte allso der Datensatz nr. 2 angezeigt werden.
Bei mir wird aber Datensatz 1 angezeigt.
Wer hat einen Lösungsvorschlag?
$sql = "SELECT s.id,s.spielnr, s.spieldatum , s.gruppe, s.spielzeit AS zeit_neu, s.spielort,s.runde,s.datum_neu,
t1.spielzeit,t1.id_team, t1.team AS heimteam, t2.team AS gastteam, t1.halle
FROM ${prefix}_liga_spielplan AS s
JOIN ${prefix}_liga_team AS t1 ON t1.id_team = s.heimteam
JOIN ${prefix}_liga_team AS t2 ON t2.id_team = s.gastteam
WHERE (s.spieldatum >= '$timestamp'OR s.datum_neu >= '$timestamp')
AND (s.heimteam = '6' OR s.gastteam = '6')
ORDER BY s.spieldatum ASC, s.datum_neu ASC LIMIT 1";
ZitatIn obigen Beispiel sollte allso der Datensatz nr. 2 angezeigt werden.
Das kommt darauf an, mit welchem Wert $timestamp belegt ist.
Wenn timestamp mit dem aktullen (jetzigen) Datum belegt ist, sollten erstmal 2 Datensätze angezeigt werden. Da aber am Ende des SQL-Statements ASC LIMIT 1 steht, wird der logisch erste Datensatz angezeigt.
Die Sortierung ORDER BY s.spieldatum ASC, s.datum_neu sortiert erstmal die Spalte Spieldatum.
Erst wenn dort gleiche Daten stehen, wird als 2 Sortierung die Spalte datum_neu herangezogen.
hallo,
$timestamp ist das aktuelle datum.( UNIX-Timestamp)
aber wie bekomme ich nun meine abfrage hin.
ich stell mir das mal so vor.
wenn datum_neu !='' dann nehme für spieldatum ->datum_neu in die sortierung.
in den spalten spieldatum und datum_neu ist das datum auch im UNIX-Timestamp
Versuchs einmal so herum :
Zitat....ORDER BY s.datum_neu, s.spieldatum ASC LIMIT 1"; ........
;) ;) ;) Du bist der BEEEEEEEEEste jubilee :thumbup: :thumbup: :thumbup: :thumbup:
Danke es funzt