20. juli 2004 - 07:46
Der er
16 kommentarer og 1 løsning
Vis kun form-knap hvis
Hvordan får man sin kode til kun, at vise en <form>-knap hvis der er data i et bestemt felt i databasen ? Som det er nu bliver knappen altid vist med meldingen "Ingen opgraderinger tilgængelige, ring for opgradering." ved tryk. Har følgende kode: <% strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/hovedmenu.mdb") Set myCon = Server.CreateObject("ADODB.Connection") myCon.Open strDSN Varenr = request.querystring("varenr") SQL = "SELECT (SELECT pris FROM produkter where config.varenr=produkter.varenr) AS Prispc, (SELECT secuID FROM config where config.varenr=produkter.varenr) AS secuID, (SELECT varenavn FROM produkter where config.varenr=produkter.varenr) AS varenavn, (SELECT detaljemenu FROM produkter WHERE varenr=kabinet) AS DetaljemenuKAB, (SELECT detaljemenu FROM produkter WHERE varenr=PSU) AS DetaljemenuPSU, (SELECT detaljemenu FROM produkter WHERE varenr=CPU1) AS DetaljemenuCPU1, (SELECT detaljemenu FROM produkter WHERE varenr=CPU2) AS DetaljemenuCPU2, (SELECT pris FROM produkter WHERE varenr=kabinet) AS priskabinet, (SELECT pris FROM produkter WHERE varenr=PSU) AS prisPSU , (SELECT pris FROM produkter WHERE varenr=CPU1) AS prisCPU1, (SELECT pris FROM produkter WHERE varenr=CPU2) AS prisCPU2 FROM Produkter INNER JOIN Config ON Produkter.Varenr=Config.Varenr WHERE Config.Varenr='" & varenr & "' AND (SELECT webstatus FROM produkter WHERE varenr=kabinet)='www'" Set rs = mycon.Execute(SQL) secuID=rs("secuID") detaljemenuKAB = rs("detaljemenuKAB") detaljemenuPSU = rs("detaljemenuPSU") detaljemenuCPU1 = rs("detaljemenuCPU1") detaljemenuCPU2 = rs("detaljemenuCPU2") priskabinet = rs("priskabinet") prispsu = rs("prispsu") priscpu1 = rs("priscpu1") priscpu2 = rs("priscpu2") %> <% If not (rs.BOF or rs.EOF) Then Do while not rs.EOF Response.write "<form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'>" Response.write "<p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'>" Response.write "<input type='hidden' name='prisx' value='" & Priskabinet & "'>" Response.write "<input type='hidden' name='detaljemenu' value='" & detaljemenuKAB & "'>" Response.write "<input type='hidden' name='secuID' value='" & secuID & "'>" Response.write "<INPUT TYPE=submit NAME=foo VALUE='Kabinet'></form>" rs.movenext loop Else Response.write "Ingen opgraderinger tilgængelige, ring for opgradering." End if %>
Annonceindlæg fra Infor
I dette tilfælde drejer det sig om data i feltet "kabinet".
if rs("kabinet") not = "" then knap else ingen knap end if
Har prøvet at putte den ind men får fejl: <% if rs("CPU2") not = "" then 'knap 'else 'ingen knap 'end if 'If not (rs.BOF or rs.EOF) Then Do while not rs.EOF Response.write "<form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'>" Response.write "<p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'>" Response.write "<input type='hidden' name='prisx' value='" & PrisCPU2 & "'>" Response.write "<input type='hidden' name='detaljemenu' value='" & detaljemenuCPU2 & "'>" Response.write "<input type='hidden' name='secuID' value='" & secuID & "'>" Response.write "<INPUT TYPE=submit NAME=foo VALUE='CPU sokkel 2'></form>" rs.movenext loop Else Response.write "Ingen opgraderinger tilgængelige, ring for opgradering." End if %> FEJL: Microsoft VBScript compilation error '800a03f9' Expected 'Then' /configframe.asp, line 72 if rs("kabinet") not = "" then
Undskyld - fejlen er selvfølgelig: Microsoft VBScript compilation error '800a03f9' Expected 'Then' /configframe.asp, line 72 if rs("cpu2") not = "" then
if rs("CPU2") <> "" then prøv med den
Med lidt modifikationer i SQL'en ser det ud til at virke. Dog får jeg fejl når jeg tilføjer flere loops efter hinanden. Kun den første fungerer. Herefter kommer følgende fejl: error '80020009' /configframe.asp, line 97 Samme fejl hvis jeg bytter rundt på de to loops, hver for sig virker de fint. <% if rs("KABINET") <> "" then Do while not rs.EOF Response.write "<form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'>" Response.write "<p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'>" Response.write "<input type='hidden' name='prisx' value='" & PrisKABINET & "'>" Response.write "<input type='hidden' name='detaljemenu' value='" & detaljemenuKAB & "'>" Response.write "<input type='hidden' name='secuID' value='" & secuID & "'>" Response.write "<INPUT TYPE=submit NAME=foo VALUE='Kabinet'></form>" rs.movenext loop Else End if %> <% if rs("CPU2") <> "" then Do while not rs.EOF Response.write "<form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'>" Response.write "<p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'>" Response.write "<input type='hidden' name='prisx' value='" & PrisCPU2 & "'>" Response.write "<input type='hidden' name='detaljemenu' value='" & detaljemenuCPU2 & "'>" Response.write "<input type='hidden' name='secuID' value='" & secuID & "'>" Response.write "<INPUT TYPE=submit NAME=foo VALUE='CPU sokkel 2'></form>" rs.movenext loop Else End if %>
Line 97 er: if rs("CPU2") <> "" then
Hvis der ingen data er til første loop fortsættes fint uden fejl på andet loop. Fejlen opstår på 2. loop kun når begge loops skal vise noget. Jeg skal tilføje flere loops endnu så det er lidt træls.
20. juli 2004 - 11:44
#10
prøv at ændre dit loop til: if rs("KABINET") <> "" then <%do%> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value='" & PrisKABINET & "'> <input type='hidden' name='detaljemenu' value='" & detaljemenuKAB & "'> input type='hidden' name='secuID' value='" & secuID & "'> INPUT TYPE=submit NAME=foo VALUE='Kabinet'></form> <%rs.movenext loop while not rs.eof%> <%end if%>
20. juli 2004 - 11:46
#11
du skal bruge: <%if rs("KABINET") <> "" then do%> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value='" & PrisKABINET & "'> <input type='hidden' name='detaljemenu' value='" & detaljemenuKAB & "'> <input type='hidden' name='secuID' value='" & secuID & "'> <INPUT TYPE=submit NAME=foo VALUE='Kabinet'></form> <%rs.movenext loop while not rs.eof%> <%else%> <p></p> <%end if%>
20. juli 2004 - 11:46
#12
så slipper du for alle de response.write
20. juli 2004 - 12:27
#13
Stadig samme fejl. Kun første loop fungerer. Herefter: error '80020009' /configframe.asp, line 93 Samme fejl hvis jeg bytter rundt på de to loops, hver for sig virker de fint. <% if rs("KABINET") <> "" then do %> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="<%=PrisKABINET%>"> <input type='hidden' name='detaljemenu' value="<%=DetaljemenuKAB%>"> <input type='hidden' name='secuID' value="<%=SecuID%>"> <INPUT TYPE=submit NAME=foo VALUE='Kabinet'> </form> <% rs.movenext loop while not rs.eof %> <%else%> <p></p> <%end if%> <% if rs("CPU2") <> "" then do %> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="<%=PrisCPU2%>"> <input type='hidden' name='detaljemenu' value="<%=DetaljemenuCPU2%>"> <input type='hidden' name='secuID' value="<%=SecuID%>"> <INPUT TYPE=submit NAME=foo VALUE='CPU sokkel 2'> </form> <% rs.movenext loop while not rs.eof %> <%else%> <p></p> <%end if%>
20. juli 2004 - 20:41
#14
Har prøvet følgende, kun første loop fungerer, de følgende springes over eller viser intet. <% detaljemenuKAB = rs("detaljemenuKAB") prisKAB = rs("prisKAB") if rs("DetaljemenuKAB") <> "" then do %> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="<%=PrisKAB%>"> <input type='hidden' name='detaljemenu' value="<%=DetaljemenuKAB%>"> <input type='hidden' name='secuID' value="<%=SecuID%>"> <INPUT TYPE=submit NAME=foo VALUE='Kabinet'> </form> <% rs.movenext loop while not rs.eof %> <%else%> <% detaljemenuPSU = rs("detaljemenuPSU") prispsu = rs("prispsu") if rs("DetaljemenuPSU") <> "" then do %> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="<%=PrisPSU%>"> <input type='hidden' name='detaljemenu' value="<%=DetaljemenuPSU%>"> <input type='hidden' name='secuID' value="<%=SecuID%>"> <INPUT TYPE=submit NAME=foo VALUE='Strømforsyning / PSU'> </form> <% rs.movenext loop while not rs.eof %> <%else%> <% detaljemenuCPU2 = rs("detaljemenuCPU2") prisCPU2 = rs("prisCPU2") if rs("DetaljemenuCPU2") <> "" then do %> <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="<%=PrisCPU2%>"> <input type='hidden' name='detaljemenu' value="<%=DetaljemenuCPU2%>"> <input type='hidden' name='secuID' value="<%=SecuID%>"> <INPUT TYPE=submit NAME=foo VALUE='CPU sokkel 2'> </form> <% rs.movenext loop while not rs.eof %> <%else%> <%end if%> <%end if%> <%end if%>
20. juli 2004 - 20:44
#15
HTML: <form method='GET' action='prodframeupg.asp' target='_self' onsubmit='return FrontPage_Form2_Validator(this)' language='JavaScript' name='Upgrade'> <p align='left'><font size=2 face='Verdana, Arial, Helvetica, sans-serif'> <input type='hidden' name='prisx' value="636"> <input type='hidden' name='detaljemenu' value="Tower ATX"> <input type='hidden' name='secuID' value="4"> <INPUT TYPE=submit NAME=foo VALUE='Kabinet'> </form> </td> </tr> </table> </td> </tr> </table> </body> </html>
21. juli 2004 - 15:27
#16
I princippet virker dine råd nu dr. chaos. Jeg lægger et nyt spørgsmål som bedre matcher mit nuværende problem. Smid lige et svar så får du points.
21. juli 2004 - 15:41
#17
ok :)
Kurser inden for grundlæggende programmering