Avatar billede wieser Nybegynder
05. april 2000 - 11:42 Der er 7 kommentarer og
1 løsning

Hvordan kører man et loop et bestemt antal gange

Jeg er i gang med at lave en Active Server Page, der skal præsentere medarbejderinformation i en tabel med 3 kolonner.

Problemet er at jeg ikke kender syntaksen for at lave en loop, der kører præcist 3 gange.

Håber der er en der kan hjælpe - det haster som d.. og h......

Her er koden loopen skal flettes ind i

<HTML>
<head>
<title>Billedoversigt over Ansatte - Tabel med 3 kolonner</title>
</head>
<BODY>
<table>


<% Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "telefondsn"
FName = Request ("Fornavn")
SQLQuery = "SELECT * FROM stamoplysninger "&_
"WHERE stamoplysninger.navn LIKE '" & Fname&"%' "&_
"ORDER BY stamoplysninger.navn, stamoplysninger.efternavn"
   
    Set objList = objConn.Execute(SQLQuery)

    Do while not objList.EOF %>

<tr>

<!---HER SKAL MIN LOOP STARTE-->

<td align="center"><img src="<%= objList("brugernavn.jpg") %>" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>
<% obj2List.MoveNext
Loop
obj2List.Close%>

<!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->

</tr>

    <% objList.MoveNext

    Loop


    objList.Close %>

    <%objConn.Close %>
</table>
</BODY>
</HTML>

Med venlig hilsen

Melissa
Avatar billede sjensen Nybegynder
05. april 2000 - 12:12 #1
melissa,

du kan ikke få dit loop til at køre sådan som du vil:

Do while not objList.EOF %>

<tr>

<!---HER SKAL MIN LOOP STARTE-->

<td align="center"><img src="<%= objList("brugernavn.jpg") %>" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>
<% obj2List.MoveNext
Loop
obj2List.Close%>

<!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->

fordi du før du vil starte dit loop har en do "while not objList.EOF" og før du vil slutte dit loop har du
<% obj2List.MoveNext
Loop
obj2List.Close%>

Det vil sige at du i første gennemgang af dit nye loop kører tabellen igennem med next og loop for derefter at lukke obj2list.

Ved næste gennemgang vil du få problemer.

Du skal enten starte dit loop inden SQL execute (og vil derfor få den udføre 3 gange) eller slutte det før Next, Loop og Close obj2list kommandoerne.

ellers er det vel kun et spm. om at lave en var du lægger en til for hvert loop:

lpcontrol = 1

do while (lpcontrol lt 3)
// do your stuff
lpcontrol = lpcontrol + 1
loop
Avatar billede wieser Nybegynder
05. april 2000 - 12:40 #2
tak for svaret -
det med
<% obj2List.MoveNext
Loop
obj2List.Close%>
var bare noget jeg glemte at rense fra mine tidligere besøg - det skal slet ikke bruges.

Nu vil jeg lige se om resten af svaret kan bruges.

Vender straks tilbage
Avatar billede wieser Nybegynder
05. april 2000 - 12:53 #3
Hej igen,

jeg må indrømme at jeg er lidt i tvivl om hvordan jeg skal bruge det du har sendt mig helt specifikt -

Nu har jeg gjort følgende:

<!---HER SKAL MIN LOOP STARTE-->


<%lpcontrol = 1
do while (lpcontrol lt3)
// do your stuff
lpcontrol
lpcontrol + 1%>

<td align="center"><img src="<%= objList("brugernavn.jpg") %>" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>

<%loop%>
<!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->

Men det er åbenbart ikke det rigtige - da jeg får følgende fejl

Microsoft VBScript compilation error '800a03ee'

Expected ')'

/telefon/scripts/eksperten.asp, line 26

do while (lpcontrol lt3)
--------------------^
Avatar billede sjensen Nybegynder
05. april 2000 - 14:53 #4
1. fejlen kommer fordi du ikke har mellemrum mellem lt og 3.

2. lav dit loop således:
Hej igen,

jeg må indrømme at jeg er lidt i tvivl om hvordan jeg skal bruge det du har sendt mig helt specifikt -

Nu har jeg gjort følgende:

<!---HER SKAL MIN LOOP STARTE-->

<%lpcontrol = 1
do while (lpcontrol lt 3)

<td align="center"><img src="<%= objList("brugernavn.jpg") %>" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>

lpcontrol = lpcontrol + 1%>


<%loop%>
<!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->

Avatar billede wieser Nybegynder
05. april 2000 - 15:18 #5
Tak for endnu et hurtigt svar
men jeg får altså  en lignende fejl:

Microsoft VBScript compilation error '800a03ee'

Expected ')'

/telefon/scripts/eksperten.asp, line 25

do while (lpcontrol lt 3)
--------------------^
Avatar billede wieser Nybegynder
05. april 2000 - 15:21 #6
Nu fik jeg det til at virke:

<!---HER SKAL MIN LOOP STARTE-->

<%lpcontrol = 1
do while (lpcontrol <= 3)%>

<td align="center"><img src="<%= objList("brugernavn") %>.jpg" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>

<%lpcontrol = lpcontrol + 1%>


<%loop%>
<!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->
Avatar billede wieser Nybegynder
05. april 2000 - 15:23 #7
Der er dog et lille problem idet samme medarbejder bliver vist tre gange i træk - i stedet for at det bliver en ny person hver gang - jeg vil arbejde videre på det og vende tilbage, hvis jeg får det løst

Avatar billede wieser Nybegynder
05. april 2000 - 15:39 #8
Nu virker det - Juhu!!!!!!!!!!
Tusind tak til "sjensen"

<HTML>
<head>
<title>Billedoversigt over Ansatte - Tabel med 3 kolonner</title>
</head>
<BODY>
<table>


<% Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "telefondsn"
FName = Request ("Fornavn")
SQLQuery = "SELECT * FROM stamoplysninger "&_
"WHERE stamoplysninger.navn LIKE '" & Fname&"%' "&_
"ORDER BY stamoplysninger.navn, stamoplysninger.efternavn"
   
    Set objList = objConn.Execute(SQLQuery)

    Do while not objList.EOF %>

<tr>

<%lpcontrol = 1
do while (lpcontrol <= 3)%>

<td align="center"><img src="<%= objList("brugernavn") %>.jpg" border=0></a>
<br><%= objList("navn") %>&nbsp;<%= objList("efternavn") %>&nbsp;
<br><%= objList("afdkode") %></td>

<%lpcontrol = lpcontrol + 1%>
<% objList.MoveNext %>

<%loop%>
</tr>

<% loop %>
<%objList.Close %>
<%objConn.Close %>
</table>
</BODY>
</HTML>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester