01. december 2004 - 19:57Der er
8 kommentarer og 1 løsning
Hvorfor virker dette script ikke ?
Hvorfor virker dette script ikke ? Jeg har på fornemelsen at den mangler en "END IF" men ikke helt sikker... Fejlen er at den ikke vil loade siden...! DVS. den tænker og tænker og tænker og tænker og tænker...!
<% if Request.QueryString("vis")="produkt" then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("man.mdb") Conn.Open DSN
SQL = "Select * FROM Produkter WHERE ProduktNummer=" & Request.QueryString("id") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2
if rs.EOF then Response.write "Der er ikke nogle billeder tilknyttet denne kalogori !"
else
antalPrRow=4 noPrRow=0 Response.Write <table cellspacing='0' cellpadding='0' border='0'>" do while not rs.EOF if noPrRow=0 then Response.Write "<tr>" Response.Write "<td>" Response.Write "<img src=""" & rs("billede") & """>" Response.Write "</td>"
noPrRow=noPrRow+1 if noPrRow=antalPrRow then Response.Write "</tr>" noPrRow=0 end if rs.Movenext loop if noPrRow>0 then Response.Write "</tr>" Response.Write "</table>" %>
<% if Request.QueryString("vis")="produkt" then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("man.mdb") Conn.Open DSN
SQL = "Select * FROM Produkter WHERE ProduktNummer=" & Request.QueryString("id") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2
if rs.EOF then Response.write "Der er ikke nogle billeder tilknyttet denne kalogori !"
else
antalPrRow=4 noPrRow=0 Response.Write <table cellspacing='0' cellpadding='0' border='0'>" do while not rs.EOF if noPrRow=0 then Response.Write "<tr>" Response.Write "<td>" Response.Write "<img src=""" & rs("billede") & """>" Response.Write "</td>" end if ' <-- Manglede!
noPrRow=noPrRow+1 if noPrRow=antalPrRow then Response.Write "</tr>" noPrRow=0 end if rs.Movenext loop if noPrRow>0 then Response.Write "</tr>" Response.Write "</table>" end if ' <-- Manglede! end if ' <-- Manglede! %>
Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0400) En sætning var ventet /shopping/nye_menu_oprette_billeder.asp, line 301 end if
Som er den linie med "end if" oven over "noPrRow=noPrRow+1"
Du manglede kun en "end if". Det er den som henviser til den aller først if (if request.query....). Men du manglede en " i linjen:
Response.Write <table cellspacing='0' cellpadding='0' border='0'>" skal være Response.Write "<table cellspacing='0' cellpadding='0' border='0'>"
<% if Request.QueryString("vis")="produkt" then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("man.mdb") Conn.Open DSN
SQL = "Select * FROM Produkter WHERE ProduktNummer=" & Request.QueryString("id") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2
if rs.EOF then Response.write "Der er ikke nogle billeder tilknyttet denne kalogori !"
else antalPrRow=4 noPrRow=0 Response.Write "<table cellspacing='0' cellpadding='0' border='0'>" do while not rs.EOF if noPrRow=0 then Response.Write "<tr>" Response.Write "<td>" Response.Write "<img src=""" & rs("billede") & """>" Response.Write "</td>"
noPrRow=noPrRow+1 if noPrRow=antalPrRow then Response.Write "</tr>" noPrRow=0 end if rs.Movenext loop if noPrRow>0 then Response.Write "</tr>" Response.Write "</table>" %>
thomas_b > Du beder den/dem du vil give points (hvis du vil give points!) om at lægge et svar. Herefter lægger vedkommende (hvis han/hun er interesseret i points) et svar ved at ændre sin næste kommentar til et svar.
Derved vises en lille boks med navne på den/de der har lagt et svar - Hvis du markerer et eller flere navne og klikker på 'send' vil brugeren/brugerne få points og du har lukket spørgsmålet (brugere du ikke markerer får afvist svaret, og får ikke points).
Hvis du ikke ønsker at tildele points til nogen, vælger du selv at svare og giver herefter dig selv points. Dermed nulstiller du spørgsmålet og spørgsmålet er lukket.
Apo
P.S. God skik er at fortælle folk om du kunne bruge deres svar, eller at du har fundet en anden udvej på dit spørgsmål.
Prøv at lave nogle response.write forskellige steder i scriptet for at se hvor langt du kommer i koden, inden den "fejler". Du skal have en aller sidst på siden, og hvis den bliver udskrevet, har du ikke et uendeligt loop, da den så aldrig ville nå den linje.
Men husk også at lukke ?'et, som Apo har beskrevet.
Synes godt om
Ny brugerNybegynder
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.