---
title: "Function i loop = skumt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/126325-function-i-loop-skumt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "znyder"
published: "2005-04-13T15:47:34.000Z"
updated: "2005-04-13T19:39:23.000Z"
replies: 5
views: 242
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/126325-function-i-loop-skumt"
---

# Function i loop = skumt

## #1 — znyder, 2005-04-13T15:47Z

Hej igen (3 timmar senare)
Jag har problem igen. Jag kör en loop och använder en function för att hämta div. saker... men den skriver endast ut 1 rad, sen struntar den i dom andra 5 raderna.

Loopar ut raderna:

```
<%
SET RStemp = MinCon.Execute("SELECT * FROM forum_sektioner ORDER BY sortering")
Do While NOT RStemp.EOF

SET temp1 = MinCon.Execute("SELECT count(*) FROM forum WHERE sektion=" & RStemp("sektion_nr") & " AND typ='amne'")
amnen = temp1(0)
SET temp1 = MinCon.Execute("SELECT count(*) FROM forum WHERE sektion=" & RStemp("sektion_nr") & " AND typ='svar'")
svar = temp1(0)
SET temp1 = MinCon.Execute("SELECT * FROM forum WHERE sektion=" & RStemp("sektion_nr") & " ORDER BY datum DESC")
IF temp1.EOF THEN
forum = "tomt"
ELSE
senaste_inlagg_d = temp1("datum")
senaste_inlagg_t = temp1("datum")
senaste_inlagg_a = temp1("anv_ID")
END IF
%>

<TR HEIGHT="30" BGCOLOR="#D6DBE1">
<TD WIDTH="301"><IMG SRC="bilder/x.gif"> <FONT SIZE="2"><A HREF="forum.asp?sektion=<%=RStemp("sektion_nr")%>"><B><%=RStemp("sektion")%></B></A></FONT></TD>
<TD WIDTH="160" ALIGN="center"><FONT SIZE="1"><I><%=amnen%> / <%=svar%></I></TD>
<% IF forum = "tomt" THEN %>
<TD WIDTH="188" ALIGN="right"></TD>
<% ELSE %>
<TD WIDTH="188" ALIGN="right"><FONT SIZE="1"><B><I><FONT COLOR="#FE8A01"><%=hamta_dag(senaste_inlagg_d)%></FONT></B> <%=hamta_tid(senaste_inlagg_t)%><IMG SRC="bilder/x.gif"><BR>av <A HREF="profil.asp?ID=<%=senaste_inlagg_a%>"><%=hamta_anv(senaste_inlagg_a)%></A><IMG SRC="bilder/x.gif"></TD>
<% END IF %>
</TR>

<%
RStemp.MoveNext
Loop
%>
```

Och functionerna:

```
<%
Dim temp_anv
Dim temp_tid
Dim temp_dag

Function hamta_anv(temp_anv)
temp_anv = temp_anv & ""
SET RStemp = MinCon.Execute("SELECT * FROM medlemmar WHERE ID=" & temp_anv & "")
hamta_anv = RStemp("anv_namn")
End Function

Function hamta_tid(temp_tid)
temp_tid = temp_tid & ""
hamta_tid = Left(Right(temp_tid, 8),5)
End Function

Function hamta_dag(temp_dag)
temp_dag = temp_dag & ""
temp_dag = left(temp_dag, 10)
IF Cdate(temp_dag) = date THEN
temp_dag = "IDAG"
ELSEIF Cdate(temp_dag) = date - 1 THEN
temp_dag = "IGÅR"
ELSE
temp_dag = Ucase(Weekdayname(Weekday(temp_dag))) & " " & Day(temp_dag) & "/" & Month(temp_dag)
END IF
hamta_dag = temp_dag
End Function
%>
```

Har jag missat nått totalt?

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

## #2 — LarsG, 2005-04-13T16:08Z

Du använder ju RSTemp i din funktion också.

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

## #3 — znyder, 2005-04-13T16:13Z

Gör det något? Förstår inte.

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

## #4 — LarsG, 2005-04-13T16:23Z

Då RSTemp inte är dimmad i funktionen är det samma variabel som den du använder utanför funktionen.

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

## #5 — znyder, 2005-04-13T16:25Z

ÅH!
Nu förstår jag.. känner man sig dum eller vad ;D
Tack LarsG!

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

## #6 — Guffa, 2005-04-13T19:39Z

Du borde titta lite närmare på SQL-kommandot JOIN. Att köra en massa databasfrågor i en loop på det där viset är rena döden för prestandan. Om du joinar in tabeller i den första frågan så kan du enkelt bli av med åstminstone hälften av frågorna i loopen, och därmed halvera tiden det tar att köra sidan.

Tänk också på att du måste stänga alla recordset du öppnar. Annars ligger de kvar i minnet och låser upp databaskopplingen.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/126325-function-i-loop-skumt
