---
title: "Loopa ut efter bokstav"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/178990-loopa-ut-efter-bokstav"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "mackanz"
published: "2009-06-14T14:56:29.000Z"
updated: "2009-06-14T22:04:16.000Z"
replies: 12
views: 691
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/178990-loopa-ut-efter-bokstav"
---

# Loopa ut efter bokstav

## #1 — mackanz, 2009-06-14T14:56Z

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...

Permalänk: https://www.webforum.nu/p/178990

## #2 — LarsG, 2009-06-14T15:04Z

```
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
```

Permalänk: https://www.webforum.nu/p/2190592

## #3 — mackanz, 2009-06-14T20:20Z

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"

Permalänk: https://www.webforum.nu/p/2190606

## #4 — voigtann1, 2009-06-14T21:11Z

pLetter är en variabel, om du läser av koden:

```
pletter = ""
```

sätts till inget (innan loopningen).

Permalänk: https://www.webforum.nu/p/2190611

## #5 — mackanz, 2009-06-14T21:13Z

ok så innanför "" ska jag skriva bokstaven som den ska loopa på eller vart sätter jag den?

Permalänk: https://www.webforum.nu/p/2190612

## #6 — voigtann1, 2009-06-14T21:17Z

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.

Permalänk: https://www.webforum.nu/p/2190613

## #7 — mackanz, 2009-06-14T21:24Z

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
%>
```

Permalänk: https://www.webforum.nu/p/2190615

## #8 — voigtann1, 2009-06-14T21:37Z

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
%>
```

Permalänk: https://www.webforum.nu/p/2190616

## #9 — mackanz, 2009-06-14T21:48Z

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>

Permalänk: https://www.webforum.nu/p/2190617

## #10 — mackanz, 2009-06-14T21:49Z

Misstänker att det kan ha med paranteserna att göra. Men är inte säker.

Permalänk: https://www.webforum.nu/p/2190618

## #11 — devotion, 2009-06-14T21:55Z

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
```

Permalänk: https://www.webforum.nu/p/2190619

## #12 — mackanz, 2009-06-14T22:01Z

Tackar ALLA för all hjälp. Nu funkar allt som det ska.

Permalänk: https://www.webforum.nu/p/2190620

## #13 — devotion, 2009-06-14T22:04Z

Hmmm...

```
<%End If>
```

Skall vara:

```
<%End If%>
```

  ;)

Permalänk: https://www.webforum.nu/p/2190621

---

Tråden på webben: https://www.webforum.nu/amne/asp/178990-loopa-ut-efter-bokstav
