webForumDet fria alternativet

dela upp efter datum

3 svar · 180 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Alla tungviktare inom asp, LarsG, Anders mfl... det e ngt som e väldigt skumt, jag har följande kod, där jag vill att följande ska ske, samliga poster i en databas loppas beroende på när de e postade så ska de delas in i ett arkiv, dvs samtliga poster som är postade i mars månad ska hamna under rubriken Mars, under rubriken mars ska d finnas en <hr> och under den samtliga poster som postades under den månaden, efter mars så är det samma sak som gäller för april, april som rubrik ---> <hr> ----> samtliga poster postade under april månad...

så här ser min kod ut:

<%
dim rs,nMonth,pMonth

'ansluter till databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT ID, rubrik, avsandare, [datum] FROM arkiv where godkand=true ORDER BY [datum] "
rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

'sätter datum som rubrik beroende på när posten lades till databasen
pMonth = 0
while not rs.EOF
nMonth = month(cdate(rs("datum")))
if pMonth <> nMonth then
response.write "<p><b> "& monthname(nMonth) & "</b><hr size=1>"
pMonth = nMonth
end if

'Varannan rad färgad
count = 0
Do Until rs.EOF
count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If

'skriver ut posterna med varannan rad blå varannan vit
response.write "<table border='0' width='100%' cellspacing='1' cellpadding='0'>"

'Skriver ut poster från databasen
response.write "<td width=""86%"" bgcolor='" & color & "'> <b>" & left(rs("rubrik"),25) & "...</b> postad av:<i> " & rs("avsandare") & " </i> " & right(rs("datum"),5) & "</td>"
response.write "<td width=""14%"" bgcolor='" & color & "'> <a href=""visa.asp?fraga=" & rs("ID") &"""> Läs mer »</a></td></tr> "
response.write "</table>" 

antal = antal + 1
rs.MoveNext
loop
wend
%>

Nu till problemet, jag får inga felmeddelanden lr ngt men nu är det så att bara mars månad dyker upp som rubrik och sedan samtliga poster under mars månad.... ngn som kan hjälpa mig med det?? att få en radbrytning och sedan att april månad skrivs ut som rubrik o alla poster om postades under april månad under??

LarsGMedlem sedan dec. 200012 464 inlägg
#2
<%
dim rs,nMonth,pMonth

'ansluter till databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT ID, rubrik, avsandare, [datum] FROM arkiv where godkand=true ORDER BY [datum] "
rs.Open Visa, Connect, adOpenStatic, adLockOptimistic

'sätter datum som rubrik beroende på när posten lades till databasen
pMonth = 0
while not rs.EOF
nMonth = month(cdate(rs("datum")))
if cint(pMonth) <> cint(nMonth) then
response.write "<p><b> "& monthname(nMonth) & "</b><hr size=1>"
pMonth = nMonth
'Varannan rad färgad
count = 0
end if

count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If

'skriver ut posterna med varannan rad blå varannan vit
response.write "<table border='0' width='100%' cellspacing='1' cellpadding='0'>"

'Skriver ut poster från databasen
response.write "<td width=""86%"" bgcolor='" & color & "'> <b>" & left(rs("rubrik"),25) & "...</b> postad av:<i> " & rs("avsandare") & " </i> " & right(rs("datum"),5) & "</td>"
response.write "<td width=""14%"" bgcolor='" & color & "'> <a href=""visa.asp?fraga=" & rs("ID") &"""> Läs mer »</a></td></tr> "
response.write "</table>" 

antal = antal + 1
rs.MoveNext

wend
%>

I och med att du hade två loopar så kommer man bara till kontrollen för att byta månad en gång.

GimboMedlem sedan dec. 20001 626 inlägg
#3

man tackar larsG, vad var det du gjorde, du tog bort loopen och vad gjorde du mer??

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Ja, och sedan så flyttade jag upp count = 0

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)