---
title: "Bästa sättet att loopa i en loop?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/106064-bästa-sättet-att-loopa-i-en-loop"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2004-06-23T15:35:54.000Z"
updated: "2004-07-01T08:06:52.000Z"
replies: 9
views: 427
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/106064-bästa-sättet-att-loopa-i-en-loop"
---

# Bästa sättet att loopa i en loop?

## #1 — Bosse168, 2004-06-23T15:35Z

Hur gör man för att på bästa/resurs snålaste sättet en loop i en loop?

Exempel:

```

<%
SQL="SELECT huvud_cat,titel FROM forum ORDER BY diskusrubrik"

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

Do until Rs.eof

Response.Write Rs(1) &"<hr>" 

'------- Börja loopa ut underkategorierna ---------------------------
SQL="SELECT rubrik,datum FROM forum_poster WHERE huvud_cat="& Rs(0) &" ORDER BY datum DESC LIMIT 5"

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

Response.Write Rs2(0) &" - "& Rs2(1)

Rs2.movenext
loop

Rs2.Close : Set Rs2 = Nothing
'------------------------------------
Rs.movenext
loop

Rs.Close : Set Rs = Nothing
%>
```

Finns det något snabbare och mer resurssnålt sätt?
Använder en MySQL 4.0.18-nt databas.

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

## #2 — tydal, 2004-06-23T15:43Z

Ja, att bara ställa en SQL-fråga borde vara snabbare:

SELECT rubrik, datum, huvud_cat, titel FROM forum ORDER BY diskusrubrik, huvud_cat, datum DESC

Sen kan du använda en variabel som du sparar föregående huvudrubrik i. Så fort aktuell huvudrubrik inte är samma som den i variabeln skriver du ut huvudrubriken och sparar den aktuella rubriken i variabeln.

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

## #3 — Bosse168, 2004-06-23T15:54Z

Förstår inte hur du menar :(

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

## #4 — tydal, 2004-06-23T16:19Z

Som det ser ut nu börjar du ju med en SQL-fråga för att få fram alla huvudkategorier. Sedan kör du ytterligare en SQL-fråga för varje huvudkategori för att få fram respektive underkategorier.

Det blir många SQL-frågor till slut. Att bara köra en istället, som plockar fram samtliga huvudkategorier och underkategorier med en gång borde gå snabbare.

Med så långt?

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

## #5 — toha, 2004-06-23T16:28Z

Är det samma tabell för forum och foruminlägg?

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

## #6 — Bosse168, 2004-06-27T20:59Z

Nej det är det inte

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

## #7 — Bosse168, 2004-06-28T23:29Z

Byggde om forumet lite och tänkte höra med proffsen om det är bättre att bygga upp forumet så här?

```
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%
Dim Rs,Rs2

Set Rs = Connect.Execute("SELECT id,namn,beskriv FROM forum_cat WHERE sub=0 ORDER BY namn DESC")

Do until Rs.eof
%>
                      <tr> 
                        <td colspan="4" height="1" bgcolor="#CCCCCC"></td>
                      </tr>
                      <tr> 
                        <td colspan="4"><%=Rs("namn")%></td>
                      </tr>
                      <tr> 
                        <td colspan="4" height="1" bgcolor="#CCCCCC"></td>
                      </tr>
<%
Set Rs2 = Connect.Execute("SELECT namn,beskriv FROM forum_cat WHERE sub="& Rs("id") &" ORDER BY namn DESC")

Do until Rs2.eof
%>					  
                      <tr> 
                        <td width="54%"><%=Rs2("namn")%></td>
                        <td width="8%">&nbsp;</td>
                        <td width="8%">&nbsp;</td>
                        <td width="30%">&nbsp;</td>
                      </tr>
<%
Rs2.movenext
loop

Rs2.Close : Set Rs2 = Nothing
%>					  
                      <tr> 
                        <td colspan="4" height="1" bgcolor="#CCCCCC"></td>
                      </tr>
<%
Rs.movenext
loop

Rs.Close : Set Rs = Nothing
%>
                    </table>
```

Skulle helst vilja få in Rs2 i samma SQL sats som Rs.
Berätta gärna om ni har något bättre förslag på hur man kan göra.

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

## #8 — Bosse168, 2004-06-29T09:07Z

Ingen?
Använder en MySQL 4.0.18-nt databas.

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

## #9 — Bosse168, 2004-06-30T22:15Z

Löste d.

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

## #10 — FredrikMH, 2004-07-01T08:06Z

> **Bosse168 skrev:**
>
> Löste d.

Hur? Du  kan ju dela med dig av dina lösningar?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/106064-bästa-sättet-att-loopa-i-en-loop
