Avatar billede aspmax Nybegynder
01. juni 2003 - 20:40 Der er 9 kommentarer

Hvorfor udskriver min funktion, resultat uden for tabel?

<table border="0" width="100%" cellpadding="0" cellspacing="0">
      <tr>
      <td valign="top" width="30%">
    <font size="1" face="Verdana"><b>Modstander:</b></td>
    <td valign="top" width="17%"><font size="1" face="Verdana"><b>Dato:</b></td>
    <td valign="top" width="25%"><font size="1" face="Verdana"><b>Liga/cup:</b></td>
    <td valign="top" width="17%"><font size="1" face="Verdana"><b>Resultat:</b></td>
    <td valign="top" width="11%"><font size="1" face="Verdana"><b>Info:</b><br></td>
    </tr>
    <tr>
    <%
    SQL="Select * from clanwars"
    set se = conn.execute(sql)
    Function test(Win,lost)
    If win > lost then
    Response.write "<font color=""#008000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win < lost then
    Response.write "<font color=""#ff0000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win = lost then
    Response.write "<font color=""#ffff00"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    End if
    end function
   
    modstander = se("modstander")
    dato = se("dato")
    liga = se("liga/cup")
    os = se("os")
    dem = se("modstanderne")
    While not se.eof
    Response.write "<td valign='top' width='30%'><font size='1' face=¨'Verdana'>" & modstander & "</td>"
    Response.write "<td valign='top' width='17%'><font size='1' face='Verdana'>" & dato & "</font</td>"
    Response.write "<td valign='top'><font size='1' face='Verdana' width='25%'>" & liga & "</td>"
    Response.write "<td valign='top' width='17%'>" & test(os,dem)
    Response.write "<td valign='top' width='11%'><a href='default.asp?page=clanwar&id=" & se("id") & "'><img border='0' src='images/info.gif'></a></td>"
    Response.write "</tr>"
    se.movenext
    wend
    %>
    </table>
Avatar billede Slettet bruger
01. juni 2003 - 20:44 #1
Disse:
Response.write "</tr>"
se.movenext
wend

Laver en stop for tr for hver post i din tabel men du laver ikke en tilsvarende start for hver post, du laver en her:

<tr>
<%
SQL="Select * from clanwars"

så prøv at rette til så du får lige mange af hver.
Avatar billede Slettet bruger
01. juni 2003 - 20:46 #2
Du har mange uafsluttede spørgsmål mon ikke du skulle få afsluttet nogle af dem?
Avatar billede aspmax Nybegynder
01. juni 2003 - 20:47 #3
har prøvet det her:
      <table border="0" width="100%" cellpadding="0" cellspacing="0">
      <tr>
      <td valign="top" width="30%">
    <font size="1" face="Verdana"><b>Modstander:</b></td>
    <td valign="top" width="17%"><font size="1" face="Verdana"><b>Dato:</b></td>
    <td valign="top" width="25%"><font size="1" face="Verdana"><b>Liga/cup:</b></td>
    <td valign="top" width="17%"><font size="1" face="Verdana"><b>Resultat:</b></td>
    <td valign="top" width="11%"><font size="1" face="Verdana"><b>Info:</b><br></td>
    </tr>
    <tr>
    <%
    SQL="Select * from clanwars"
    set se = conn.execute(sql)
    Function test(Win,lost)
    If win > lost then
    Response.write "<font color=""#008000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win < lost then
    Response.write "<font color=""#ff0000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win = lost then
    Response.write "<font color=""#ffff00"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    End if
    end function
   
    modstander = se("modstander")
    dato = se("dato")
    liga = se("liga/cup")
    os = se("os")
    dem = se("modstanderne")
    While not se.eof
    Response.write "<td valign='top' width='30%'><font size='1' face=¨'Verdana'>" & modstander & "</td>"
    Response.write "<td valign='top' width='17%'><font size='1' face='Verdana'>" & dato & "</font</td>"
    Response.write "<td valign='top'><font size='1' face='Verdana' width='25%'>" & liga & "</td>"
    Response.write "<td valign='top' width='17%'>" & test(os,dem)
    Response.write "<td valign='top' width='11%'><a href='default.asp?page=clanwar&id=" & se("id") & "'><img border='0' src='images/info.gif'></a></td>"
    se.movenext
    wend
    %>
    </tr>
    </table>
Avatar billede aspmax Nybegynder
01. juni 2003 - 20:48 #4
Den viser fint andre resultater, inde i taben, men ikke med funktionen
Avatar billede Slettet bruger
01. juni 2003 - 20:52 #5
Du skal ikek kalde en funktion med function foran. En funktion returnerer et resultat, typisk vil man kalde en funktion som: position = inStr(streng,"p")
Det du skal er at have 2 værdier tilbage så skal du lave din funktion om til en procedure og kalde den sådan:

test(win,lost)
Avatar billede Slettet bruger
01. juni 2003 - 20:56 #6
Glem lige min sidste kommentar, hvorfor har du en funktion midt i det hele? Hvor kommer win og lost fra? Hvis de komemr fra dit recordset så er der ingen grund til at bruge en funktion da du jo kun kalder den 1 gang.

Jeg tror egentlig heller ikke man kan have en funktion midt i det hele, mener den skal være først på siden eller i en include fil.
Avatar billede aspmax Nybegynder
01. juni 2003 - 20:57 #7
Min funktion virker godt nok, som den skal, den vi bare ikke udskrive resultattet inde i table..
Avatar billede Slettet bruger
01. juni 2003 - 21:05 #8
Sidste bud så: prøv at ændre <tr>
    <%
    SQL="Select * from clanwars"
    set se = conn.execute(sql)
    Function test(Win,lost)
    If win > lost then
    Response.write "<font color=""#008000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win < lost then
    Response.write "<font color=""#ff0000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win = lost then
    Response.write "<font color=""#ffff00"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    End if
    end function
   
    modstander = se("modstander")
    dato = se("dato")
    liga = se("liga/cup")
    os = se("os")
    dem = se("modstanderne")
    While not se.eof
    Response.write "<td valign='top' width='30%'><font size='1' face=¨'Verdana'>" & modstander & "</td>"
    Response.write "<td valign='top' width='17%'><font size='1' face='Verdana'>" & dato & "</font</td>"
    Response.write "<td valign='top'><font size='1' face='Verdana' width='25%'>" & liga & "</td>"
    Response.write "<td valign='top' width='17%'>" & test(os,dem)
    Response.write "<td valign='top' width='11%'><a href='default.asp?page=clanwar&id=" & se("id") & "'><img border='0' src='images/info.gif'></a></td>"
    se.movenext
    wend
    %>
    </tr>

Til:

    <%
    SQL="Select * from clanwars"
    set se = conn.execute(sql)
    Function test(Win,lost)
    If win > lost then
    Response.write "<font color=""#008000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win < lost then
    Response.write "<font color=""#ff0000"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    elseif win = lost then
    Response.write "<font color=""#ffff00"" size='1' face='Verdana'>" & win & " - " & lost & "</td>"
    End if
    end function
   
    modstander = se("modstander")
    dato = se("dato")
    liga = se("liga/cup")
    os = se("os")
    dem = se("modstanderne")
    While not se.eof
    Response.Write "<tr>"
    Response.write "<td valign='top' width='30%'><font size='1' face=¨'Verdana'>" & modstander & "</td>"
    Response.write "<td valign='top' width='17%'><font size='1' face='Verdana'>" & dato & "</font</td>"
    Response.write "<td valign='top'><font size='1' face='Verdana' width='25%'>" & liga & "</td>"
    Response.write "<td valign='top' width='17%'>" & test(os,dem)
    Response.write "<td valign='top' width='11%'><a href='default.asp?page=clanwar&id=" & se("id") & "'><img border='0' src='images/info.gif'></a></td>"
    se.movenext
    response.write "</tr>"
    wend
    %>
Avatar billede Slettet bruger
28. juli 2004 - 18:20 #9
Lukketid?
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