Avatar billede martin181 Nybegynder
19. februar 2007 - 19:22 Der er 13 kommentarer og
1 løsning

LOOP og ELSE tinh

Hejsa,

jeg sidder og er ved at lave en side, som på baggrund af indhold i min database opstiller stillingen i SAS-ligaen i fodbold...

men jeg har lidt små problemer...

min kode er som følger...

<%
DIM CONNECT, ANTAL
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../../Database/tabellen.mdb")
%>
<table width=253 cellspacing=0 border=0 cellpadding=0>
<tr>
<td colspan='8' bgcolor="#CCCCFF"><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td colspan='7' class='overskrift'>STILLINGEN I SAS LIGAEN</td>
<td class='genvej'><!----</td><A href='stats/stats0203/liga_stillingen.asp'><IMG border=0 src='pics/pil.gif'></A>-----></td>
</tr>
<tr>
<td colspan='8' bgcolor="#CCCCFF"><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td colspan='8'><IMG height=2 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td width='23' valign='bottom'><IMG height=5 src='pics/nr.gif' vspace=1 width=12></td>
<td width='85' height='8' valign='bottom'><IMG height=5 src='pics/hold.gif' vspace=1 width=26></td>
<td width='23' align='center' height='8' valign='bottom'><IMG height=5 src='pics/kmp.gif' vspace=1 width=20></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/v.gif' vspace=1 width=6></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/u.gif' vspace=1 width=6></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/t.gif' vspace=1 width=6></td>
<td width='50' align='center' height='8' valign='bottom'><IMG height=5 src='pics/score.gif' vspace=1 width=30></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/pnt.gif' vspace=1 width=19></td>
</tr>
<tr>
<td width='253' colspan='8' height='1' bgcolor='#CC0033'><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
<%
SET OnTabel = CONNECT.EXECUTE (_
"SELECT * FROM Tabel order by Placering ASC")
%>
<!-- Sætter løkken op til at køre -->
<%
DO UNTIL OnTabel.EOF %>

<% VB = OnTabel("VBhighlight") %>

<% if VB = "YES" then %>
<tr>
<td class='11pxRight-VB'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px-VB'><%=OnTabel("Hold")%></td>
<td class='11pxRight-VB'><%=OnTabel("Kampe")%></td>
<td class='11pxRight-VB'><%=OnTabel("Vundne")%></td>
<td class='11pxRight-VB'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight-VB'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter-VB'><%=OnTabel("Score")%></td>
<td class='11pxRight-VB'><%=OnTabel("Point")%></td>
</tr>

<% else %>
<tr>
<td class='11pxRight'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px'><%=OnTabel("Hold")%></td>
<td class='11pxRight'><%=OnTabel("Kampe")%></td>
<td class='11pxRight'><%=OnTabel("Vundne")%></td>
<td class='11pxRight'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter'><%=OnTabel("Score")%></td>
<td class='11pxRight'><%=OnTabel("Point")%></td>
</tr>
<!-- Her sættes løkken til at køre igen, hvis dette er nødvendigt -->
<% OnTabel.MOVENEXT
LOOP %>
<%
OnTabel.close
connect.close
set OnTabel=nothing
set connect=nothing
%>

</table>

Jeg udtrækker mine data fra en access-database, som er opbygget som følger:

Databasenavn: tabellen
Tabelnavn: tabel
Feltnavne:
ID - autonumber
Placering - text
Hold - text
Kampe - text
Vundne - text
Uafgjorte - text
Tabte - text
Score - text
Point - text
VBHighlight - text

når jeg kører min side får jeg flg. fejlmelding:
Microsoft VBScript compilation error '800a040e'

'loop' without 'do'

/forside_stilling.asp, line 67

LOOP
^

men som jeg ser det har jeg da et "DO" længere oppe

i denne linie:
<%
DO UNTIL OnTabel.EOF %>

og mit loop sættes jo op til at køre her:
<% OnTabel.MOVENEXT
LOOP %>

så jeg kan ikke helt gennemskue den del...

den anden del, som måske er lidt "optimistisk" er min If - then - else sætning...

må blankt indrømme at jeg så godt som aldrig har arbejdet med if-sætninger og asp - så jeg skal, muligvis, have lidt vejledning på det punkt også...

håber at der sidder en eller flere derude, som har lyst til at hjælpe mig med at komme videre :-)
Avatar billede dr_chaos Nybegynder
19. februar 2007 - 19:29 #1
du mangler en end if før dit loop afslutning
Avatar billede dr_chaos Nybegynder
19. februar 2007 - 19:29 #2
altså:
Kommenter / Svar
Vis fuld skærm
Tip en ven
Anmeld misbrug
Translate this page
   
Du er her : Eksperten : Spørgsmål & Svar : Programmering :: Script :: ASP :: LOOP og ELSE tinh :

Sidste nyt fra Eksperten : En frisk start
Jeg har for nyligt fået det formelle ansvar for Eksperten, og jeg foreslår i den forbindelse at vi på Eksperten starter på en frisk. Derfor reaktiverer jeg de tidligere lukkede brugere, men under den ... [læs mere]

LOOP og ELSE tinh
    200 point fra martin181   

Hejsa,

jeg sidder og er ved at lave en side, som på baggrund af indhold i min database opstiller stillingen i SAS-ligaen i fodbold...

men jeg har lidt små problemer...

min kode er som følger...

<%
DIM CONNECT, ANTAL
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../../Database/tabellen.mdb")
%>
<table width=253 cellspacing=0 border=0 cellpadding=0>
<tr>
<td colspan='8' bgcolor="#CCCCFF"><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td colspan='7' class='overskrift'>STILLINGEN I SAS LIGAEN</td>
<td class='genvej'><!----</td><A href='stats/stats0203/liga_stillingen.asp'><IMG border=0 src='pics/pil.gif'></A>-----></td>
</tr>
<tr>
<td colspan='8' bgcolor="#CCCCFF"><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td colspan='8'><IMG height=2 src='pics/bgdot.gif' width=1><br></td>
</tr>
<tr>
<td width='23' valign='bottom'><IMG height=5 src='pics/nr.gif' vspace=1 width=12></td>
<td width='85' height='8' valign='bottom'><IMG height=5 src='pics/hold.gif' vspace=1 width=26></td>
<td width='23' align='center' height='8' valign='bottom'><IMG height=5 src='pics/kmp.gif' vspace=1 width=20></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/v.gif' vspace=1 width=6></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/u.gif' vspace=1 width=6></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/t.gif' vspace=1 width=6></td>
<td width='50' align='center' height='8' valign='bottom'><IMG height=5 src='pics/score.gif' vspace=1 width=30></td>
<td width='23' align='right' height='8' valign='bottom'><IMG height=5 src='pics/pnt.gif' vspace=1 width=19></td>
</tr>
<tr>
<td width='253' colspan='8' height='1' bgcolor='#CC0033'><IMG height=1 src='pics/bgdot.gif' width=1><br></td>
<%
SET OnTabel = CONNECT.EXECUTE (_
"SELECT * FROM Tabel order by Placering ASC")
%>
<!-- Sætter løkken op til at køre -->
<%
DO UNTIL OnTabel.EOF %>

<% VB = OnTabel("VBhighlight") %>

<% if VB = "YES" then %>
<tr>
<td class='11pxRight-VB'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px-VB'><%=OnTabel("Hold")%></td>
<td class='11pxRight-VB'><%=OnTabel("Kampe")%></td>
<td class='11pxRight-VB'><%=OnTabel("Vundne")%></td>
<td class='11pxRight-VB'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight-VB'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter-VB'><%=OnTabel("Score")%></td>
<td class='11pxRight-VB'><%=OnTabel("Point")%></td>
</tr>

<% else %>
<tr>
<td class='11pxRight'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px'><%=OnTabel("Hold")%></td>
<td class='11pxRight'><%=OnTabel("Kampe")%></td>
<td class='11pxRight'><%=OnTabel("Vundne")%></td>
<td class='11pxRight'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter'><%=OnTabel("Score")%></td>
<td class='11pxRight'><%=OnTabel("Point")%></td>
</tr>
<%end if%>
<!-- Her sættes løkken til at køre igen, hvis dette er nødvendigt -->
<% OnTabel.MOVENEXT
LOOP %>
<%
Avatar billede martin181 Nybegynder
19. februar 2007 - 19:42 #3
hejsa,
den del virker i hvert tilfælde nu - så tak for første del :-)

Kan du også hjælpe mig med opbygningen af min If-Then-Else? - altså så den tager hensyn til hvad mit indhold i "VBhighlight" er? og formatterer output derefter?
Avatar billede dr_chaos Nybegynder
19. februar 2007 - 19:59 #4
Hvad er formålet med VBhighlight ?
Avatar billede martin181 Nybegynder
19. februar 2007 - 20:01 #5
VBhighlight er en måde at vise at det er den post, som skal have den første "kode stump" på sig...

altså den der skal puttes ind i:

<tr>
<td class='11pxRight-VB'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px-VB'><%=OnTabel("Hold")%></td>
<td class='11pxRight-VB'><%=OnTabel("Kampe")%></td>
<td class='11pxRight-VB'><%=OnTabel("Vundne")%></td>
<td class='11pxRight-VB'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight-VB'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter-VB'><%=OnTabel("Score")%></td>
<td class='11pxRight-VB'><%=OnTabel("Point")%></td>
</tr>

og ellers skal der bruges flg.:

<tr>
<td class='11pxRight'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px'><%=OnTabel("Hold")%></td>
<td class='11pxRight'><%=OnTabel("Kampe")%></td>
<td class='11pxRight'><%=OnTabel("Vundne")%></td>
<td class='11pxRight'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter'><%=OnTabel("Score")%></td>
<td class='11pxRight'><%=OnTabel("Point")%></td>
</tr>


var det hvad du mente?
Avatar billede martin181 Nybegynder
19. februar 2007 - 21:17 #6
Jeg angiver, når jeg opretter mine poster i min database, om VBhighlight sættes til YES eller NO...
Avatar billede dr_chaos Nybegynder
19. februar 2007 - 21:24 #7
ok
Er problemet at din if kondition aldrig er opfyldt ?
Hvis ja så prøv med

<% VB = OnTabel("VBhighlight")
Response.Write VB
%>
og formodentlig
<% if VB = "true" then %>
Avatar billede dr_chaos Nybegynder
19. februar 2007 - 21:25 #8
med Response.Write VB kan du se værdien af VB.
Avatar billede martin181 Nybegynder
19. februar 2007 - 21:36 #9
Hej igen,

jeg forsøgte mig lige igen - nu ser den således ud:

<%
SET OnTabel = CONNECT.EXECUTE (_
"SELECT * FROM Tabel order by Placering ASC")
%>
<!-- Sætter løkken op til at køre -->
<%
DO UNTIL OnTabel.EOF %>

<% VB = OnTabel("VBhighlight")
Response.Write VB
%>

<% if VB = "YES" then %>
<tr>
<td class='11pxRight-VB'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px-VB'><%=OnTabel("Hold")%></td>
<td class='11pxRight-VB'><%=OnTabel("Kampe")%></td>
<td class='11pxRight-VB'><%=OnTabel("Vundne")%></td>
<td class='11pxRight-VB'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight-VB'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter-VB'><%=OnTabel("Score")%></td>
<td class='11pxRight-VB'><%=OnTabel("Point")%></td>
</tr>

<% else %>
<tr>
<td class='11pxRight'><%=OnTabel("Placering")%><IMG height=1 src='pics/bgdot.gif' width=3></td>
<td class='11px'><%=OnTabel("Hold")%></td>
<td class='11pxRight'><%=OnTabel("Kampe")%></td>
<td class='11pxRight'><%=OnTabel("Vundne")%></td>
<td class='11pxRight'><%=OnTabel("Uafgjorte")%></td>
<td class='11pxRight'><%=OnTabel("Tabte")%></td>
<td class='11pxCenter'><%=OnTabel("Score")%></td>
<td class='11pxRight'><%=OnTabel("Point")%></td>
</tr>
<%end if%>

<!-- Her sættes løkken til at køre igen, hvis dette er nødvendigt -->
<% OnTabel.MOVENEXT
LOOP %>

min Response.Write VB gav flg.:
YES
NO
NO

med de test data jeg har lige nu - men min View source viser at den ikke vælger mine data anderledes på siden - lige meget om den er YES eller No... så det er, sikkert, mig, der ikke kan finde ud af at opbygge min if-sætning ordentligt...

så tilbage til dit spørgsmål "Er problemet at din if kondition aldrig er opfyldt?" - så mener jeg jo at den er opfyldt... men den bliver bare ikke "guidet" rigtigt videre...
Avatar billede dr_chaos Nybegynder
20. februar 2007 - 15:54 #10
prøv med
VB = lcase(OnTabel("VBhighlight"))
<% if VB = lcase("yes") then %>

eller evt
<% if VB  then %>
Avatar billede martin181 Nybegynder
20. februar 2007 - 21:18 #11
hej igen,
så fik jeg prøvet med dine ideer.

Det virkede med denne:
VB = lcase(OnTabel("VBhighlight"))
<% if VB = lcase("yes") then %>

Så mange tak for hjælpen :-)

Smider du et svar, så du kan få nogle point?
Avatar billede dr_chaos Nybegynder
21. februar 2007 - 14:25 #12
svar :)
np. Nogen gange er det en god ide at bruge lcase på begge sider af et = for at sikre at der ikke er forskel på store og små bogstaver.
Avatar billede martin181 Nybegynder
21. februar 2007 - 16:02 #13
ja, en masse gode ting har jeg lært oven i at jeg fik løst mit problem - tak endnu en gang :-)
Avatar billede dr_chaos Nybegynder
21. februar 2007 - 16:17 #14
Det er jo ikke så ringe :)
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