webForumDet fria alternativet

Så som wF har på meddelanden-sidan!

Databaser & SQL

3 svar · 270 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Tjenare,

hur har ni gjort för att loopa ut mina meddelanden och kategorisera dom efter vilken dag dom kom in?

Så här ser det ut:

igår
Meddelande1
Tisdag
Meddelande2
Meddelande3
Fredag
Meddelande4
Meddealnde5

osv osv...

Hur gör man något liknande, om man har datumet sparat i ett fält (ÅÅÅÅ-MM-DD).

:bire

Tacksam för hjälp!

Oskar

Medlem sedan dec. 20025 483 inlägg
#2

Så här någonting kanske:

sql =
select <columns>
  from tbl
order
    by postDate desc

rs = SQL_Execute(sql)

loop while not rs is EOF:
  diff = datediff(today, rs["postDate"])

  if diff == 0:
    // idag
  elsif diff == 1:
    // igår
  elsif diff == 2:
    // day(rs["postDate"]) -> ex. "tisdag"
  elsif diff == 3:
    // day(rs["postDate"]) -> ex. "måndag"
  elsif diff <= 7:
    // senaste veckan
  else
    // övriga
  end if
  rs = rs.next
end loop

Förutsatt att datediff() returnerar skillnaden mätt i dagar mellan två datum.

Medlem sedan nov. 20051 317 inlägg
#3

Tack!

Aha åfan! Se där ja! Ska testa det!

En liten fråga: när du skriver så här:

select
from table
order
by postDate desc

liksom att du tabbar upp sql-frågan. Det är väl bara för att visa lite tydligare här på forumet? Du vill väl att jag ska skriva frågan så här: select * from tbl order by postDate desc?

Medlem sedan dec. 20025 483 inlägg
#4

Just det! :bire

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)