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") %> <%= objList("efternavn") %> <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
Annonceindlæg fra Infor
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") %> <%= objList("efternavn") %> <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
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
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") %> <%= objList("efternavn") %> <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) --------------------^
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") %> <%= objList("efternavn") %> <br><%= objList("afdkode") %></td> lpcontrol = lpcontrol + 1%> <%loop%> <!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->
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) --------------------^
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") %> <%= objList("efternavn") %> <br><%= objList("afdkode") %></td> <%lpcontrol = lpcontrol + 1%> <%loop%> <!--HER SKAL MIN LOOP SLUTTE EFTER 3 GANGE-->
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
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") %> <%= objList("efternavn") %> <br><%= objList("afdkode") %></td> <%lpcontrol = lpcontrol + 1%> <% objList.MoveNext %> <%loop%> </tr> <% loop %> <%objList.Close %> <%objConn.Close %> </table> </BODY> </HTML>
Kurser inden for grundlæggende programmering