Avatar billede hansen Nybegynder
11. juli 2002 - 10:12 Der er 4 kommentarer og
1 løsning

Fejl i loop - Udskriv i kolloner

Jeg har et stykke script som giver mig lidt kvaler, når jeg looper igennem DB, så skriver den kun tekst ud i den ene side af min tabel, den skal loope igennem så der kommer tekst tilhørende overskriften i begge sider, kan du se hvad jeg gør galt ?

Script-------
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
SQL = "select * from kategorier ORDER BY kat_tekst"
Set RS = Conn.Execute(SQL)
if Not (rs.BOF Or rs.EOF) Then
%>
<div align="center">
<center>
<table border="0" cellpadding="1" style="border-collapse: collapse" bordercolor="#111111" width="468">
<%
LinkCount = 0
Do While Not rs.EOF
If LinkCount Mod 2 = 0 Then
'------------
SQL2 = "select top 5 * from telegram WHERE tlg_cat = '"&rs("kat_type")&"' ORDER BY tlg_datesent,tlg_timesent"
'response.write SQL2
Set RS2 = Conn.Execute(SQL2)
'------------
        'Do While Not rs2.EOF
        If LinkCount <> 0 Then Response.Write"</tr>"
            Response.Write"<tr><td valign=""top"" width=""50%""><table width=""100%""><tr><td bgcolor=#D2DFEC style=""border:1px solid #6699CC; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Verdana""><b>"&rs("kat_tekst")&"</b></td></tr></table>"
                Do While Not rs2.EOF
                    Response.Write"<table><tr><td style=""font-family: Verdana; color: #000000; font-size: 10px"">"&rs2("tlg_headline")&"</td></tr></table>"
                rs2.MoveNext
                Loop           
            response.write "</td>"
        Else
            Response.Write"<td valign=""top"" width=""50%""><table width=""100%""><tr><td bgcolor=#D2DFEC style=""border:1px solid #6699CC; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Verdana""><b>"&rs("kat_tekst")&"</b></td></tr></table>"
                Do While Not rs2.EOF
                    Response.Write"<table><tr><td style=""font-family: Verdana; color: #000000; font-size: 10px"">"&rs2("tlg_headline")&"</td></tr></table>"
                rs2.MoveNext
                Loop       
            response.write "</td>"
            Response.Write"</tr>"
        End If

    LinkCount = LinkCount + 1
rs.MoveNext
Loop
Response.Write"</tr></table></center></div>"
end if
%>
<%
Conn.Close
Set Conn = Nothing
%>
Script-------
Avatar billede eagleeye Praktikant
11. juli 2002 - 12:30 #1
Prøv at fjerne denne linie:

  If LinkCount <> 0 Then Response.Write"</tr>"



Du laver end på tablel rækken i Else delen på denne if:
If LinkCount Mod 2 = 0 Then

Så når den looper udskriver den en kolonne går til næste reocrs og skulle skrive ikolonnen ved siden af men den skriver lige end-table-row inde så kolonne ryger så ned på linien under.
Avatar billede hansen Nybegynder
11. juli 2002 - 12:58 #2
Det hjalp desværre ikke spor at fjerne den linie :(
Avatar billede eagleeye Praktikant
11. juli 2002 - 13:10 #3
Får du ikke kun hver anden udskrevet?

Prøv at ændre disse linier:
Do While Not rs.EOF
If LinkCount Mod 2 = 0 Then
'------------
SQL2 = "select top 5 * from telegram WHERE tlg_cat = '"&rs("kat_type")&"' ORDER BY tlg_datesent,tlg_timesent"
'response.write SQL2
Set RS2 = Conn.Execute(SQL2)


Til:
Do While Not rs.EOF
'------------
SQL2 = "select top 5 * from telegram WHERE tlg_cat = '"&rs("kat_type")&"' ORDER BY tlg_datesent,tlg_timesent"
'response.write SQL2
Set RS2 = Conn.Execute(SQL2)

If LinkCount Mod 2 = 0 Then
Avatar billede eagleeye Praktikant
11. juli 2002 - 13:11 #4
stadig uden: If LinkCount <> 0 Then Response.Write"</tr>"
Avatar billede hansen Nybegynder
11. juli 2002 - 13:34 #5
Takker, det var lige det der skulle til.
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