webForumDet fria alternativet
Logga in / Bli medlem

SELECT

Databaser & SQL

5 svar · 365 visningar · startad av westman

Medlem sedan aug. 2004249 inlägg
Trådstart#1

Jag vill hämta ut data ifrån en tabell där datumet inte är passerat.

Skriver jag så här...

$sql = "SELECT * FROM boka WHERE user='".$_SESSION['sess_user']."' AND year >= $CurrentYear AND month >= $CurrentMonth AND day >= $CurrentDay ORDER BY month ASC, day ASC LIMIT 20";

...så blir det ju fel.
Den ska alltså hämta posterna tillhörande en viss användare vars år är det samma eller senare och i andra hand månaden är den samma eller senare och i tredje hand dagen är den samma eller senare.
Ngn som förstår hur jag menar? :)

Medlem sedan aug. 2004249 inlägg
#2

Ingen som vet...?

Medlem sedan dec. 200012 464 inlägg
#3

Använd en datetime kolumn.

(

$sql = "SELECT * FROM boka 
WHERE user='".$_SESSION['sess_user']."' 
AND ((year > $currentYear) 
or (year = $CurrentYear AND month > $CurrentMonth) 
or (year = $CurrentYear and month = $CurrentMonth and day >= $CurrentDay))
 ORDER BY year asc, month ASC, day ASC 
LIMIT 20";

)

Medlem sedan aug. 2004249 inlägg
#4

Tack det fungerade bra! Men nu har jag fått hjärnsläpp.. Hur gör jag ifall jag även vill ta hänsyn till tiden (i databasen heter kolumnen "tid")??

Medlem sedan aug. 2004249 inlägg
#5

bjuder även in andra än LarsG till denna tråd... ;)

Medlem sedan dec. 200012 464 inlägg
#6
$sql = "SELECT * FROM boka 
WHERE user='".$_SESSION['sess_user']."' 
AND ((year > $currentYear) 
or (year = $CurrentYear AND month > $CurrentMonth) 
or (year = $CurrentYear and month = $CurrentMonth and day > $CurrentDay)
or (year = $CurrentYear and month = $CurrentMonth and day = $CurrentDay and tid >= $currentTime)
 ORDER BY year asc, month ASC, day ASC 
LIMIT 20";
264 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)