mackanzMedlem sedan sep. 2003443 inlägg Jag har en långlista på låttitlar som jag loopar ut på en sida.
Hur gör jag för att dela upp dem så att den först loopar alla på bokstaven A sen alla B.
Jag vill att resultate ska bli så här ungefär.
A
Aldrig nån som du
Aldrig utan dig
Aldrig var min himmel så blå
B
Bara för en stund
Bortom natten finns en dag
etc... etc...
LarsGMedlem sedan dec. 200012 464 inlägg sql = "select title from so gs order by title"
set rs = connect.execute(sql)
pletter = ""
do while not rs.eof
if pletter <> left(rs("title"),1) then
pletter = left(rs("title"),1)
response.write pletter
end if
response.write rs("title")
rs.movenext
loop
mackanzMedlem sedan sep. 2003443 inlägg Ska se om jag lyckas med detta.
Är ju ingen hejjare på ASP men ska göra ett försök.
Undrar vart jag anger bokstav den ska sortera ifrån?
och vad innebär "pletter"
pLetter är en variabel, om du läser av koden:
pletter = ""
sätts till inget (innan loopningen).
mackanzMedlem sedan sep. 2003443 inlägg ok så innanför "" ska jag skriva bokstaven som den ska loopa på eller vart sätter jag den?
Nej, det gör SQL frågan:
....order by title
Vad koden gör är att första gången koden körs, så är pLetter tom (vilket är bra eftersom if frågan i loopen kollar är pLetter annolunda än vad vad fösta tecknet är i fältet "title", om det är det så skall pLetter uppdateras och skrivas ut:
...
response.write pletter
...
sql = "select title from songs order by title"
set rs = connect.execute(sql)
pletter = "" ' set it as a empty string.
do while not rs.eof ' Loop all titles from songs-table
if pletter <> left(rs("title"),1) then ' Is pLetter different then the first character in "title"? if so, we update the pLetter variable and print it out.
pletter = left(rs("title"),1)
response.write "<h2>" & pletter & "</h2>"
end if
response.write rs("title") & "<br />"
rs.movenext
loop
Lite kommentarer.
mackanzMedlem sedan sep. 2003443 inlägg Okay. Ska se om jag förstår något av detta.
Just nu UTAN att ha infogat någon kod ser den ut så här.
<%
sql = "SELECT * from latar order by titel asc"
rs.open sql, mincon, 3, 3
%>
<%
vColor = Array("#F5EDED", "#ffffff")
i = 0
do while not rs.eof
%>
<tr bgcolor="<%=vColor(i Mod 2)%>" class="<%If rs("titel") < Now Then Response.Write "inthepast" Else Response.Write "inthefuture" End If%>">
<td class="brodtext"><a href="visa_lat.asp?NAMEID=<%=rs("lat_ID")%>"><%=rs("titel")%>
</a>
<%
rs.movenext
i = i + 1
loop
rs.Close
%>
Och så infoga du logiken för det:
<%
sql = "SELECT * from latar order by titel asc"
rs.open sql, mincon, 3, 3
dim pLetter
pLetter = ""
vColor = Array("#F5EDED", "#ffffff")
i = 0
do while not rs.eof
%>
<%
if(pLetter <> Left(rs("titel"), 1) Then
pLetter= Left(rs("titel"), 1)
%>
<tr><td><h2><%=pLetter%></h2></td></tr>
<%End If>
<tr bgcolor="<%=vColor(i Mod 2)%>" class="<%If rs("titel") < Now Then Response.Write "inthepast" Else Response.Write "inthefuture" End If%>">
<td class="brodtext"><a href="visa_lat.asp?NAMEID=<%=rs("lat_ID")%>"><%=rs("titel")%>
</a>
<%
rs.movenext
i = i + 1
loop
rs.Close
%>
mackanzMedlem sedan sep. 2003443 inlägg Nu börjar jag förstå en del. Satte in koden men får något error.
Tyvärr kan får jag inte fram något felmeddelande.
Utan det står att sidan kan inte visas.
Men en kompis fick upp.
Microsoft VBScript compilation error '800a03ee'
Expected ')'
/fakta/fakta_latar.asp, line 66
if(pLetter <> Left(rs("titel"), 1) Then
-----------------------------------^
Sidan jag arbetar med finnes här.
http://www.monags.se/fakta/fakta_latar.asp
mackanzMedlem sedan sep. 2003443 inlägg Misstänker att det kan ha med paranteserna att göra. Men är inte säker.
devotionMedlem sedan jan. 20013 582 inlägg Du har fått in en parentes för mycket:
if(pLetter <> Left(rs("titel"), 1) Then
Skall vara:
if pLetter <> Left(rs("titel"), 1) Then
mackanzMedlem sedan sep. 2003443 inlägg Tackar ALLA för all hjälp. Nu funkar allt som det ska.