webForumDet fria alternativet

Sortera under datum

ASP

8 svar · 545 visningar · startad av Zerephina

Medlem sedan sep. 2000206 inlägg
Frågan#1

Jag ska göra en lista över olika saker som uppdateras.

<% rs.Open SQL, MinCon
Do While Not rs.EOF
%>
<%=rs("datum")%>
<BR>
»<A HREF="<%=rs("url")%>"><%=rs("rubrik")%></A>
<BR>
<%=rs("text")%>
<%
rs.MoveNext
Loop
%>

Det fungerar jättefint ;) Men om samma datum dyker upp flera gånger skulle jag vilja sortera in flera rubriker och texter under samma datum. Som det är nu raddas det upp med nytt datum varje gång. Någon som hänger med på vad jag menar? Går det att lösa genom kod eller ska jag göra om i databasen? (Skulle ju kunna ge varje datum ett unikt värde osv)

Medlem sedan okt. 2004159 inlägg
#2

Jag brukar göra så här (koden är inte testkörd)

<% rs.Open SQL, MinCon
curDatum = ""
Do While Not rs.EOF
   if rs("datum")<>curDatum Then
         response.write "<b>" & rs("datum") & "</br>"
         curDatum=rs("datum")
   end if

<BR>
   »<A HREF="<%=rs("url")%>"><%=rs("rubrik")%></A>
<BR>
<%=rs("text")
rs.MoveNext
Loop
%>

Hoppas det var som du tänkte det.

Medlem sedan jan. 20061 807 inlägg
#3

Har en annan variant på det där som plockar ut i detta fall år och månad som rubriker och det som infaller under året och månaden hamnar under.

<% if oldyear<>datarec("a_year") or oldyear="" then %>
&nbsp;<b><a href="/news/showpostyear.asp?ar=<%=datarec("a_year")%>"><%=datarec("a_year")%></a></b><br />
<%end if%>

<% if oldkat<>datarec("a_month") or oldkat="" then %>
&nbsp;<b><a href="/news/showpostmonth.asp?manad=<%=datarec("a_month")%>"><%=datarec("a_month")%></a></b><br />

<%end if%>
&nbsp;<a href="/news/showpost.asp?ID=<% =datarec("ID")%>"><%=datarec("datum")%>&nbsp;<%=(left(datarec("rubrik"),12))%></a><br />

<%
	oldyear=datarec("a_year")
	oldkat=datarec("a_month")
	datarec.MoveNext
	Loop
%>
Medlem sedan sep. 2000206 inlägg
#4

Jag får det nästan att fungera.

Det som inte fungerar är

curDatum = ""

Sidan kan inte visas. Om jag skriver t.ex. "s" så skrivs texten ut, dock utan datum.

*glöm det jag skrev hör ovan*

Jag får det att fungera, men det skrivs inte ut något datum...

Medlem sedan juni 20003 076 inlägg
#5

Hur ser koden ut nu då?
Om du tog bwcMikke:s kod rakt av så kanske det beror på att han snubbla på tangentbordet! ;)
Denna:

response.write "<b>" & rs("datum") & "</br>"

Ska vara:

response.write "<b>" & rs("datum") & "</b>< br />"
Medlem sedan sep. 2000206 inlägg
#6

Nja inte det som är felet. Jag får klura lite till, men...

Medlem sedan sep. 2000206 inlägg
#7

Jag måste säga att jag inte riktigt hänger med på:

curDatum = ""

Vad gör den?

Medlem sedan juni 200032 967 inlägg
#8

Den ser till att variabeln curDatum är initierad, men innehåller en tom sträng.
Men, det kanske är bättre att ge variabeln ett giltigt datumvärde, om det nu är datumvärden vi ska jämföra med. (Man kan aldrig så noga veta vilka datatyper man får från recordsets, så det är bäst att typkonvertera.)

Om du gör så här då:

<%
rs.Open SQL, MinCon
curDatum = #1970-01-01#
Do While Not rs.EOF
   thisDate = cdate(rs("datum"))
   if thisDate<>curDatum Then
         response.write "<b>" & thisDate & "</b>"
         curDatum=thisDate
   end if
%>
<BR>
   »<A HREF="<%=rs("url")%>"><%=rs("rubrik")%></A>
<BR>
<%=rs("text")
rs.MoveNext
Loop
%>

Jag utgick ifrån bwcMikkes kod, jag vet inte exakt hur den kod du använder ser ut.

Medlem sedan sep. 2000206 inlägg
#9

Jag ska kolla på det där ikväll. Nu klistrade jag bara in den och det fungerade inte. Men nu måste jag åka iväg en sväng. Ska se om jag fick någon idé av det!!!

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)