Nej jeg forstår sku da godt at du ik fatter hva jeg vil med koden, det er bare lige noget jeg er ved at prøve :)
Altså den tæller antal loop når man skriver:
<% dim x rs.movenext x = x +1 loop %>
Og hvis jeg laver den med "Wend" Så siger den Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0400) En sætning var ventet /login/auktion/auktion.asp, line 135 end if
Altså hvis jeg skriver sådan:
<% dim x rs.movenext x = x +1 while x < 2 do loop wend response.write("Hej")
<% dim x do while x < 2 'løb igennem lækken sålænge x er mindre en 2 response.write("Hej") ' udskriv sætningen "Hej" på siden x = x +1 ' tæl x 1 op rs.movenext ' den her skal kun benyttes hvis du arbejder på et recordset fra en database loop %>
Hvis du vil løbe alle poster i et recordset fra en database igennem gøres det således: <% do while not rs.eof 'løb alle poster i recordsættet igennem response.write("Hej") ' udskriv sætningen "Hej" på siden, hvergang den støder på en post rs.movenext ' flyt til den næste post i recordsættet loop %>
I starten af min HTML Fil står dette!!! Det skulle da ku gøre det..
<%
Response.Buffer = True
'Åbner forbindelse til databsen Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("auk.mdb") Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from nyt order by id desc" rs.Open sql, conn, 1, 3 %>
Jeg har en database, hvor der er over 10 (et ellers andet) I en tabel, Det jeg skal er: Når man loader min side, skal den skrive de 5 første af punkterne i tabelen, i en tabel på min side, sådan her:
<td><% rs.movenext loop
%></td> <td></td> </tr> <tr> <td>Her skal de næste 5 punkter komme (MEN HVORDAN????? )</td>
<%x = 0 while x < 5%> <td>De Første 5 punkter</td> <% x = x + 1 rs.movenext wend%> <td></td> <%x = 0 while x < 5%> <td>De næste 5 punkter</td> <% x = x + 1 rs.movenext wend%>
'Åbner forbindelse til databsen Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("auk.mdb") Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from nyt order by id desc" rs.Open sql, conn, 1, 3 %> <html>
<head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <meta name="generator" content="Adobe GoLive 4"> <title>Welcome to Adobe GoLive 4</title> </head> <% 'Hvis der ingen tags er if rs.eof or rs.bof then %>Ingen tag´s<% else do until rs.eof navn = rs("navn") %>
<% dim x x = 0 while x < 5 do%> <td>De Første 5 punkter <%=navn%></td> <% x = x + 1 rs.movenext loop wend%> <td></td> <%x = 0 while x < 5 do %> <td>De næste 5 punkter<%=navn%></td> <% x = x + 1 rs.movenext
Hvis jeg fjerner dette do i den sætning her: while x < 5 do Vil den kommer med en fejl der ser sådan ud: 'Loop' uden 'Do' /try/auktion/pk.asp, line 33 loop
Har kikket lidt i Microsoft VB Language Reference, her er hvad den siger om while ... wend strukturen:
Description Executes a series of statements as long as a given condition is True. Syntax While condition [statements] Wend The While...Wend statement syntax has these parts:
Part Description condition Numeric or string expression that evaluates to True or False. If condition is Null, condition is treated as False. statements One or more statements executed while condition is True.
Remarks If condition is True, all statements in statements are executed until the Wend statement is encountered. Control then returns to the While statement and condition is again checked. If condition is still True, the process is repeated. If it is not True, execution resumes with the statement following the Wend statement. While...Wend loops can be nested to any level. Each Wend matches the most recent While. --------------------------------------------------------------------------------
Tip The Do...Loop statement provides a more structured and flexible way to perform looping.
så din kode skal se således ud: <% dim x x = 0 while x < 5 %> <td>De Første 5 punkter <%=navn%></td> <% x = x + 1 rs.movenext wend %> <td></td> <% x = 0 while x < 5 %> <td>De næste 5 punkter<%=navn%></td> <% x = x + 1 rs.movenext Wend %>
Du bliver nødt til at fjerne sætningen: do until rs.eof da den ikke giver nogen mening.
Description Repeats a block of statements while a condition is True or until a condition becomes True. Syntax Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop Or, you can use this syntax:
Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]
The Do...Loop statement syntax has these parts:
Part Description condition Numeric or string expression that is True or False. If condition is Null, condition is treated as False. statements One or more statements that are repeated while or until condition is True.
Remarks The Exit Do can only be used within a Do...Loop control structure to provide an alternate way to exit a Do...Loop. Any number of Exit Do statements may be placed anywhere in the Do...Loop. Often used with the evaluation of some condition (for example, If...Then), Exit Do transfers control to the statement immediately following the Loop. When used within nested Do...Loop statements, Exit Do transfers control to the loop that is one nested level above the loop where it occurs.
Synes godt om
Ny brugerNybegynder
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.