webForumDet fria alternativet

Loopa ut idag, igår, 11 okt, 10 okt osv.?

ASP

13 svar · 433 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Hur gör man för att få till en sådan här loop?

Idag
@nders
LarsG
@nders
@nders

Igår
LarsG
LarsG
@nders

11 okt
LarsG
@nders
LarsG
LarsG

Osv.

Förstår att man ska göra något med datumet men inte vad.
P.s. namnen var dom enda jag kom på. ;)

Medlem sedan dec. 200012 464 inlägg
#2
for d = date() to #2004-10-01# step -1
response.write "<b>" & d & "</b><br>"
'övrig hantering
next
Medlem sedan nov. 20031 018 inlägg
#3

Ok hur för jag fram den i en redan befintlig loop?

SQL = "SELECT * FROM Tabell ORDER BY datum DESC"

Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.open SQL, Connect, 3,3

Do Until Rs.EOF
%>

[B]Datumet (idag/igår/osv.)[/B]
Övrig info:<%=Rs(0)%>
<%

Rs.MoveNext
Loop
Rs.Close : Set Rs=nothing
Medlem sedan dec. 200012 464 inlägg
#4
d = cdate(rs("datum"))
if d = date() then
response.write "Idag"
elseif d = date() - 1 then 
response.write "Igår"
else
response.write d
end
Medlem sedan nov. 20031 018 inlägg
#5

Men då blir det ju

Idag
@nders
Idag
LarsG
Idag
@nders
Idag
@nders

Igår
LarsG
Igår
LarsG
Igår
@nders

11 okt
LarsG
11 okt
@nders
11 okt
LarsG
11 okt
LarsG

Medlem sedan dec. 200012 464 inlägg
#6

Du får hålla koll på om du har fått ett nytt datum

pd = #9999-12-24#
while
   d = cdate(rs("datum"))
   if d <> pd then
      'skriv ut datum
      pd = d
   end if
end while
Medlem sedan nov. 20031 018 inlägg
#7

Hmm har inte en aning hur man får ihop dessa kod snuttar... :stud

Medlem sedan dec. 200012 464 inlägg
#8
SQL = "SELECT * FROM Tabell ORDER BY datum DESC"

Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.open SQL, Connect, 3,3

pd = #9999-12-24#
Do Until Rs.EOF
   d = cdate(rs("datum"))
   if  pd <> d then
       if d = date() then
          response.write "<b>Idag</b><br>"
       elseif d = date() - 1 then 
          response.write "<b>Igår</b><br>"
      else
          response.write "<b>" & d & "</b><br>"
      end if
      pd = d
  end if
%>
Övrig info:<%=Rs(0) & "<br>" %>
<%
  Rs.MoveNext
Loop
Rs.Close : Set Rs=nothing
Medlem sedan nov. 20031 018 inlägg
#9

Med den koden blir det fortfarande likadant.

2004-10-06 16:46:23
Övrig info:68
2004-09-29 13:59:59
Övrig info:67
2004-09-27 12:02:44
Övrig info:66
2004-09-27 11:45:45
Övrig info:65
2004-09-24 12:02:22
Övrig info:64
2004-09-16 09:53:50
Övrig info:63
2004-09-13 23:18:39
Övrig info:62
2004-08-28 21:26:50
Övrig info:61
2004-08-28 21:26:15
Övrig info:60
2004-08-27 09:31:04
Övrig info:59
2004-08-25 11:26:53
Övrig info:58
2004-08-24 12:39:20
Övrig info:57

Medlem sedan nov. 20031 018 inlägg
#10

Går det inte att få till loopen på det sättet som jag vill?

Medlem sedan maj 2002560 inlägg
#11
SQL = "SELECT * FROM Tabell ORDER BY datum DESC"

Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.open SQL, Connect, 3,3

pd = #9999-12-24#
Do Until Rs.EOF
   d = cdate(rs("datum"))
   if  [b]Date(pd)[/b] <> [b]Date(d)[/b] then
       if [b]Date(d)[/b] = date() then
          response.write "<b>Idag</b><br>"
       elseif [b]Date(d)[/b] = date() - 1 then 
          response.write "<b>Igår</b><br>"
      else
          response.write "<b>" & d & "</b><br>"
      end if
      pd = d
  end if
%>
Övrig info:<%=Rs(0) & "<br>" %>
<%
  Rs.MoveNext
Loop
Rs.Close : Set Rs=nothing

Kanske, annars jämnför du ju tiden också

Sry @nders...

Medlem sedan juni 200032 967 inlägg
#12

eeek!

Aldrig, aldrig, aldrig använda strängfunktioner för att ta ut delar av datum. Då blir man ju beroende av formatet på datumet!

Använd de datumfunktioner som finns att tillgå istället.

Sid får bakläxa. =)

Medlem sedan nov. 20031 018 inlägg
#13

Hur går man tillväga då @nders?

//red.
Löste det med DateDiff

check = DateDiff("d", Date, Rs("datum"))

       if check = 0 then
          response.write "<b>Idag</b>"
'osv
Medlem sedan maj 2002560 inlägg
#14

Kan du ju alltid testa med
Year() Month() Day()

d = #2004-10-14 13:12:11#
nd = Year(d)&"-"&Month(d)&"-"&Day(d)

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