Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 12:18 Der er 17 kommentarer og
1 løsning

Do while movenext loop

Hjælp!! jeg har forgæves forsøgt at sætte Do while ind i nogen tabeller, det virker bare ikke, selve loopet virker, men udtrækket vælter total.

Har forsøgt med dette:

<table width="699" cellpadding="5" height="66">
  <tr>
    <td class="forside" vAlign="top" width="505" height="54">
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="13" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="469" bgcolor="#F5F4E9">
            <p align="center">
            <font size="3" color="#800080" face="Arial Black">
            </font>
            </p>
          </td>
          <td width="14" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="65" bgcolor="#F5F4E9"></td>
          <td width="130" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="113" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="86" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="32" bgcolor="#F5F4E9"></td>
          <td width="25" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
        <tr>
          <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="65" bgcolor="#F5F4E9">
          <%
          if not rs.eof then
          do while not rs.eof
         
          if rs("vist") = "0" then
          response.write ("<img border=""0"" src=""image/1.gif"">")
          else
          response.write ("<img border=""0"" src=""image/2.gif"">")
          end if
          response.write ("<br>")
          %>
          </td>
          <td width="130" bgcolor="#F5F4E9">
          <%
          response.write ("" & rs("fra") & "")
         
                    response.write ("<br><br>")
                                    rs.movenext
                loop
                end if
         
          %>
          </td>
          <td width="113" bgcolor="#F5F4E9">
          </td>
          <td width="86" bgcolor="#F5F4E9">
          </td>
          <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="32" bgcolor="#F5F4E9">
          <p>&nbsp;
          </td>
          <td width="25" bgcolor="#F5F4E9"></td>
        </tr>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="19" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="463" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="14" bgcolor="#F5F4E9"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
Avatar billede softspot Forsker
09. marts 2006 - 12:29 #1
Er der altid det samme antal rækker i det resultat du trækker ud af databasen?

Med mindre du er 100% sikker på at der altid er samme antal rækker i resultatet, ville det måske være lidt mere "sikkert" (for layoutet), at lave en hel tabel i den celle hvor din løkke kører.
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 12:32 #2
Jo der er altid samme antal rækker i udtrækket, men hvordan bygger jeg det op, så det ikke vælter, hvorfor virker mit eks. ikke?

Har du et bud?
Avatar billede softspot Forsker
09. marts 2006 - 12:52 #3
Problemet er at du har et fast antal kolonner i de omkringliggende rækker, som ikke følger med dem du genererer i din løkke, så det du i princippet skal gøre et at lave bredden af disse kolonner spænde vidt nok til at kunne indeholde dem du genererer i løkken.

Jeg kunne forestille mig noget i stil med dette:

  <tr>
    <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
    <td width="195" colspan="2" bgcolor="#F5F4E9">
<%
    if not rs.eof then
%>
      <table>
        <tr>
<%
      do while not rs.eof
        response.write ("<td width=""65"">")
        if rs("vist") = "0" then
          response.write ("<img border=""0"" src=""image/1.gif"">")
        else
          response.write ("<img border=""0"" src=""image/2.gif"">")
        end if
        response.write ("<br>")
        response.write ("</td>" & vbCrLf)

        response.write ("<td width=""130"" bgcolor=""#F5F4E9"">")

        response.write ("" & rs("fra") & "")
         
        response.write ("<br><br></td>" & vbCrLf)
        rs.movenext
      loop
%>
      </tr>
    </table>
<%
    end if
%>
    </td>
    <td width="113" bgcolor="#F5F4E9"></td>
    <td width="86" bgcolor="#F5F4E9"></td>
    <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
    <td width="32" bgcolor="#F5F4E9"><p>&nbsp;</p></td>
    <td width="25" bgcolor="#F5F4E9"></td>
  </tr>


Det garanterer ikke at dit layout ikke springer, da bredden af tebellen i tilfælde af 2 gennemløb i din løkke, vil blive dobbelt så stor som rækken ovenfor beskriver den skal være (som jo er 195px), dvs. 390px.
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:00 #4
Det går helt galt, hele udtrækket ligger vandret side om side i stedet for nedefter. :(
Avatar billede softspot Forsker
09. marts 2006 - 13:04 #5
Jeg tog blot udgangspunkt i det kode du havde i forvejen. Jeg ved i sagens natur ikke hvad du rent faktisk vil opnå, så hvis det ikke er det du har lavet du vil have, så er du nok nød til at beskrive eller endnu bedre illustrere det (f.eks. via et link til noget grafik eller sådan noget).
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:15 #6
Jamen jeg ønsker såmen en tabel hvor 5 poster vises, altså i første kolonne, status, næste notat, tid, frabruger og hits.

De 5 ting skal stå pænt under hinanden i en tabel
Er det forklaring nok? :-)
Avatar billede softspot Forsker
09. marts 2006 - 13:21 #7
Ja, det er jo noget anderledes end det du har forsøgt, så det var lidt svært at gætte :)

Så ville jeg jo bare sætte løkken omkring hele rækken i stedet for inde i en celle i rækken (hvis ellers jeg har forstået denne gang :))...

<%
do while not rs.eof
%>         
<tr>
  <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
  <td width="65" bgcolor="#F5F4E9">
<%
  if rs("vist") = "0" then
    response.write ("<img border=""0"" src=""image/1.gif"">")
  else
    response.write ("<img border=""0"" src=""image/2.gif"">")
  end if
  response.write ("<br>")
%>
  </td>
  <td width="130" bgcolor="#F5F4E9">
<%
  response.write ("" & rs("fra") & "")
         
  response.write ("<br><br>")
%>
  </td>
  <td width="113" bgcolor="#F5F4E9"></td>
  <td width="86" bgcolor="#F5F4E9"></td>
  <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
  <td width="32" bgcolor="#F5F4E9"><p>&nbsp;</td>
  <td width="25" bgcolor="#F5F4E9"></td>
</tr>
<%
  rs.movenext
loop
%>
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:27 #8
Tabellen er usynlig og hele udtrækket ligger nu lodret i en række :(
Avatar billede softspot Forsker
09. marts 2006 - 13:28 #9
Har du sat den kode jeg viser ind i den tabel hvor den lå tidligere? Jeg har jo kun lige pille den ene række ud hvor du havde lavet løkken, den skal klistres ind i det andet kode du havde før...
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:28 #10
How tror det virker alligevel......... øjeblik
Avatar billede softspot Forsker
09. marts 2006 - 13:30 #11
Altså:

<table width="699" cellpadding="5" height="66">
  <tr>
    <td class="forside" vAlign="top" width="505" height="54">
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="13" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="469" bgcolor="#F5F4E9">
            <p align="center">
            <font size="3" color="#800080" face="Arial Black">
            </font>
            </p>
          </td>
          <td width="14" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="65" bgcolor="#F5F4E9"></td>
          <td width="130" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="113" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="86" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="32" bgcolor="#F5F4E9"></td>
          <td width="25" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
<%
do while not rs.eof
%>         
<tr>
  <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
  <td width="65" bgcolor="#F5F4E9">
<%
  if rs("vist") = "0" then
    response.write ("<img border=""0"" src=""image/1.gif"">")
  else
    response.write ("<img border=""0"" src=""image/2.gif"">")
  end if
  response.write ("<br>")
%>
  </td>
  <td width="130" bgcolor="#F5F4E9">
<%
  response.write ("" & rs("fra") & "")
         
  response.write ("<br><br>")
%>
  </td>
  <td width="113" bgcolor="#F5F4E9"></td>
  <td width="86" bgcolor="#F5F4E9"></td>
  <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
  <td width="32" bgcolor="#F5F4E9"><p>&nbsp;</td>
  <td width="25" bgcolor="#F5F4E9"></td>
</tr>
<%
  rs.movenext
loop
%>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="19" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="463" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="14" bgcolor="#F5F4E9"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:37 #12
Det ser sku fint ud, perkfekt:-)
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 13:56 #13
Hej.. er det muligt at lave hver anden række i en anden farve?
Så teksten ikke flyder så meget sammen?
Avatar billede softspot Forsker
09. marts 2006 - 14:10 #14
Noget i stil med dette (du retter farvekoderne i strengen colortable):


<table width="699" cellpadding="5" height="66">
  <tr>
    <td class="forside" vAlign="top" width="505" height="54">
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="13" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="469" bgcolor="#F5F4E9">
            <p align="center">
            <font size="3" color="#800080" face="Arial Black">
            </font>
            </p>
          </td>
          <td width="14" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="23" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="65" bgcolor="#F5F4E9"></td>
          <td width="130" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="113" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="86" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="12" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="32" bgcolor="#F5F4E9"></td>
          <td width="25" bgcolor="#F5F4E9">&nbsp;</td>
        </tr>
<%
colortable = "#F5F4E9,#A5A499"
arrColors = split(colortable,",")
rowidx = 0

do while not rs.eof
  colIdx = rowIdx mod 2
%>         
<tr>
  <td width="23" bgcolor="<%=arrColors(colIdx)%>">&nbsp;</td>
  <td width="65" bgcolor="<%=arrColors(colIdx)%>">
<%
  if rs("vist") = "0" then
    response.write ("<img border=""0"" src=""image/1.gif"">")
  else
    response.write ("<img border=""0"" src=""image/2.gif"">")
  end if
  response.write ("<br>")
%>
  </td>
  <td width="130" bgcolor="<%=arrColors(colIdx)%>">
<%
  response.write ("" & rs("fra") & "")
         
  response.write ("<br><br>")
%>
  </td>
  <td width="113" bgcolor="<%=arrColors(colIdx)%>"></td>
  <td width="86" bgcolor="<%=arrColors(colIdx)%>"></td>
  <td width="12" bgcolor="<%=arrColors(colIdx)%>">&nbsp;</td>
  <td width="32" bgcolor="<%=arrColors(colIdx)%>"><p>&nbsp;</td>
  <td width="25" bgcolor="<%=arrColors(colIdx)%>"></td>
</tr>
<%
  rowidx = rowidx + 1
  rs.movenext
loop
%>
      </table>
      <table border="0" cellpadding="0" cellspacing="0" width="505">
        <tr>
          <td width="19" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="463" bgcolor="#F5F4E9">&nbsp;</td>
          <td width="14" bgcolor="#F5F4E9"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 14:21 #15
Ja præcis- FLOT :-)
Avatar billede softspot Forsker
09. marts 2006 - 14:23 #16
Velbekomme :)
Avatar billede kaptajnknas Nybegynder
09. marts 2006 - 14:25 #17
Takker og points :)
Avatar billede softspot Forsker
09. marts 2006 - 14:28 #18
Tak for point :)
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