Avatar billede no_doubt Nybegynder
05. oktober 2007 - 22:28 Der er 17 kommentarer og
1 løsning

hjælp til loop

Er der en der kan sørge for at denne går igen med 4 i hver række.
(det er udtræk fra access)

<table border="0" width="158" id="table1">
        <tr>
            <td width="152" align="center" colspan="3">
            <p align="center">
            <font face="Arial" size="2">
            <img border="0" width="124" height="113"></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Navn: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2">TT</font></td>
            <td width="40" align="center" rowspan="2">
            <p align="right"><font face="Arial" size="2">ID: 32</font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Adresse: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2">AA</font></td>
        </tr>
    </table>
Avatar billede madeindk Nybegynder
05. oktober 2007 - 22:30 #1
<table border="0" width="158" id="table1">
        <% For t = 0 To 4 %>
        <tr>
            <td width="152" align="center" colspan="3">
            <p align="center">
            <font face="Arial" size="2">
            <img border="0" width="124" height="113"></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Navn: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2">TT</font></td>
            <td width="40" align="center" rowspan="2">
            <p align="right"><font face="Arial" size="2">ID: 32</font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Adresse: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2">AA</font></td>
        </tr>
        <% Next %>
    </table>
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 22:34 #2
a bit more help...
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 22:41 #3
den siger der mangler loop

altså den kode jeg viste i spørgsmålet skal vises fire gang efter det er sket skal den vises på næste linje
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 22:46 #4
nu laver den en på hver linje og id går igen 4 gange så kommer id 2 fire gange under hinanden
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 22:49 #5
Sådan ser koden ud nu:

<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")
sql =  "SELECT * FROM brugere"
Set rs = Conn.Execute(sql)
do while not rs.EOF
%>
    <div align="center">
    <table border="0" width="158" id="table1">
    <% For t = 0 To 4 %>
        <tr>
            <td width="152" align="center" colspan="3">
            <p align="center">
            <font face="Arial" size="2">
            <img border="0" width="124" height="113"></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Navn: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2"><%=rs("navn")%></font></td>
            <td width="40" align="center" rowspan="2">
            <p align="right"><font face="Arial" size="2">ID: <%=rs("id")%></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Adresse: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2"><%=rs("AA")%></font></td>
        </tr>
        <% Next %>
    </table>
    <%       
    rs.movenext
    loop
    %>
    </div>
Avatar billede ffsoft Praktikant
05. oktober 2007 - 23:19 #6
Du har et loop som gennemløber et recordset, for hvet gennemløb henter den en person.
INDE i det loop har du en anden løkke som laver 3 rækker i en tabel
med oplysninger m den aktuelle post, dette gør den fire gange

do while not rs.EOF
  <% For t = 0 To 4 %>
  Lav 3 rækker med data fra første løkke
  <% next %>
rs.movenext

Prøv at slette den inderste løkke.



loop
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 23:28 #7
Kunne du ikke prøve at skrive hvordan den skal se ud med rettelser.
Avatar billede no_doubt Nybegynder
05. oktober 2007 - 23:36 #8
Hvis jeg fjerner
<% For t = 0 To 4 %> OG <% next %>

Kommer de sådan
1
2
3
4
5

jeg vil gerne have
1 - 2 - 3 - 4
5
Avatar billede no_doubt Nybegynder
06. oktober 2007 - 10:45 #9
er jeg glemt
Avatar billede keysersoze Guru
06. oktober 2007 - 12:00 #10
sæt en counter og brug den som tæller;

counter = 0
do while not rs.eof
  counter = counter + 1
  'udskriv data
  if coounter = 4 then
    counter = 0
    '</tr>
    '<tr>
  end if
  'rs movenext
loop
Avatar billede no_doubt Nybegynder
06. oktober 2007 - 12:29 #11
Sådan ser den ud nu:

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>

<body>
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")
sql =  "SELECT * FROM brugere"
Set rs = Conn.Execute(sql)
%>
    <div align="center">
    <table border="0" width="143" id="table1">
        <%
        counter = 0
        do while not rs.EOF
        counter = counter + 1
        %>
        <tr>
            <td width="137" align="center" colspan="3">
            <p align="center">
            <font face="Arial" size="2">
            <img border="0" width="130" height="115" src="<%=rs("billede")%>" style="border: 1px solid #000000"></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Navn: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2"><%=rs("navn")%></font></td>
            <td width="26" align="center" rowspan="2">
            <p align="right"><font face="Arial" size="2">
            <a href="<%=rs("id")%>" style="text-decoration: none">
            <font color="#000000">ID</font></a></font></td>
        </tr>
        <tr>
            <td width="36" align="center">
            <p align="left"><font face="Arial" size="2">Adresse: </font> </td>
            <td width="64" align="center">
            <p align="left"><font face="Arial" size="2"><%=rs("AA")%></font></td>
        </tr>
        <%
      if coounter = 4 then
      counter = 0
      %>
    </table>
    <%       
    end if
    rs.movenext
    loop
    %>
    </div>   
</body>

</html>
Avatar billede keysersoze Guru
06. oktober 2007 - 12:49 #12
du bliver nødt til at opbygge ét egentligt element til hver post - med ovenstående forsøg vil du jo (hvis man altså ser bort fra stavefejl) starte én <table> men afslutte et større antal </table>.

Det er normalt </tr><tr> der laver en ny række og det man lægger inde i sin if-statement - men da en post i dit tilfælde benytter flere tr kan det ikke lade sig gøre her, så du er nødt til at finde på en helt ny opbygning. Benyt fx en helt <table> til hver post.
Avatar billede no_doubt Nybegynder
06. oktober 2007 - 13:08 #13
kan du ikke prøve at smide en løsning op. Kan ikke greje den. Det skal "bare" stå som beskrevet ovenfor, altså
1 - 2 - 3 - 4
5 - .....
Avatar billede no_doubt Nybegynder
06. oktober 2007 - 13:13 #14
Hvis jeg forstår det du skriver, vil de så ikke komme til at stå under hinanden ?
Avatar billede keysersoze Guru
06. oktober 2007 - 13:24 #15
nej - ikke hvis du sørger for at style tabellerne rigtigt fx vha en float left.
Avatar billede no_doubt Nybegynder
06. oktober 2007 - 13:36 #16
Okay jeg er total på bar bund...msn ?
Avatar billede no_doubt Nybegynder
07. oktober 2007 - 23:21 #17
lukker
Avatar billede jarlen67 Nybegynder
08. oktober 2007 - 06:19 #18
Hej
Kan godt være det er for sent, men her er hvad jeg har lavet.
Jeg har på et tidspunkt lavet en dvd-base der viser thumbnails i en 6x3 tabel.
Det kan være at du kan benytte dig af noget af styringen.
Jeg har 2 løkker i denne.
1 til at styre hvor mange rækker (outerloop)
og 1 til at styre hvor mange kolonner (Innerloop)
Så er det 'bare' at løbe sit recordset igennem og skrive det ud.

Håber du kan bruge noget af det.

<table border="0" cellspacing="5">
<%
for outerloop = 1 to 3
%>
  <tr>
<%
  for innerloop = 1 to 6
      if dvd.eof then
        eofdvd = true%>
    <td width="100" align="center"></td>
<%
      else
%>
    <td width="100" align="center"><p align="center"><a
    href="dvdshow.asp?No=<%=dvd("tæller")%>" target="_blank"><img
    src="../images/TN_<%=dvd("billede")%>.JPG"
    alt="../images/TN_<%=dvd("billede")%>.jpg (59181 bytes)" width="86" height="120"></a></td>
<%
dvd.movenext
if dvd.eof then eofdvd = true
end if
next
%>
  </tr>
<%next%>
</table>
</center>
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