webForumDet fria alternativet

Datum-/tidfråga

3 svar · 172 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001789 inlägg
#1

Hej hej

Jag har en fråga som ser ut såhär:

$query =	"SELECT m.matchId, m.matchMot, m.matchHB, m.matchDatum, m.matchTid, l.lagNamn FROM tblmatch m ".
"INNER JOIN tbllag l ON m.lagId = l.lagId WHERE m.matchDatum > '".$datumIgar."' AND m.matchTid > '".$tidNu."' ORDER BY m.matchDatum, m.matchTid LIMIT 1";

Jag vill alltså ha ut matchen som är närmast i tiden beroende på datum och tid.
Jag vill att den ska funka på så sätt att den letar upp den närmaste matchen m.h.a. datumet sen kollar den tiden om den inte har börjat spelas än.
Problemet är att den kollar på tiden hela tiden, så om den närmaste matchen, som kanske ligger en vecka framåt, har en starttid som e tidigare på dagen så visas den inte.

Hmm, förstår ni vad jag menar eller e jag bara virrig?

Kan kan kanske kolla om den närmste matchen är idag och först då kollar den tiden?
Kan man göra detta i SQL-frågan?

/Grodan :)

LarsGMedlem sedan dec. 200012 465 inlägg
#2
query =	"SELECT m.matchId, m.matchMot, m.matchHB, m.matchDatum, m.matchTid, l.lagNamn FROM tblmatch m ".
"INNER JOIN tbllag l ON m.lagId = l.lagId " . 
"WHERE (m.matchDatum = '".$datumIdag."' AND m.matchTid > '".$tidNu.
"')  or m.matchDatum > '" . $datumIdag . "' ORDER BY m.matchDatum, m.matchTid LIMIT 1";

Jag bytte ut datumigar mot datumidag

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#3

I PHP tolkas strängen som samma sträng ända fram till decimalkommat. ( ; )

Alltså skulle samma kod kunnat vara:

query =	"SELECT m.matchId, m.matchMot, m.matchHB, m.matchDatum, m.matchTid, l.lagNamn FROM tblmatch m 
INNER JOIN tbllag l ON m.lagId = l.lagId 
WHERE (m.matchDatum = '$datumIdag' AND m.matchTid > '$tidNu')  
or m.matchDatum > '$datumIdag' 
ORDER BY m.matchDatum, m.matchTid LIMIT 1";
GrodanBollMedlem sedan sep. 2001789 inlägg
#4

Tack LarsG, det funkade utmärkt. :)

Tack Jörgen för tipset, smidigt. :)

:birp

/EnTacksamGroda

123 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
120 ms — hämta tråd, inlägg och bilagor (db)