Avatar billede babyworm Nybegynder
18. april 2004 - 12:26 Der er 2 kommentarer og
1 løsning

Hjælp til bestillingsformular!

Hejsa,

Jeg har fået til opgave at lave en bestillingsformular for noget servicesjov.

Jeg har lavet formularen der automatisk henter data'erne ud fra en database, og derefter kan man udfylde hvor mange af hvert produkt man vil have.

Min kode ser sådan ud:

Mail.asp:
<!-- #include file="conn.asp" -->
<html>
  <head> 
<style type="text/css">
p, td, th {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 10pt;
    color: #000000;
}
h1 {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 12pt;
    color: #000000;
}
input {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 9pt;
    color: #000000;
    border: 1px solid #660000;
}
</style>
</head>

  <body>
<%
openConn()
strSQL = "SELECT kategori.id, kategori.name FROM kategori"
Set rs = connection.Execute(strSQL)

While NOT rs.EOF


strKategori    = rs("id")

strSQL1 = "SELECT vare.id, vare.name, vare.size, vare.ekstra, vare.pris, vare.kategori FROM vare WHERE vare.kategori=" & strkategori
Set rs1 = connection.Execute(strSQL1)
%>
<form method="post" action="oversigt.asp">

<br><br>
    <h1><%= rs("name")%></h1>

    <table border="0" cellpadding="0" cellspacing="0">

      <tr>
        <td><b>Antal:&nbsp;</b></td>
        <td><b>Produkt:&nbsp;</b></td>
    <td><b>Mål:&nbsp;</b></td>
    <td><b>Beskrivelse:&nbsp;</b></td>
    <td><b>Pris:&nbsp;</b></td>
      </tr>
        <% While NOT rs1.EOF %>
      <tr>
        <td><input type="text" name="antal<%=rs1("id")%>" size="3">&nbsp;</td>
        <td><%= rs1("name")%>&nbsp;&nbsp;&nbsp;</td>
    <td><%= rs1("size")%>&nbsp;&nbsp;&nbsp;</td>
    <td><%= rs1("ekstra")%>&nbsp;&nbsp;&nbsp;</td>
    <td><%= rs1("pris")%></td>
      </tr>

              <% rs1.MoveNext
              Wend %>

    </table>

      <% rs.MoveNext
      Wend %>
<input type="submit" value="Beregn">
</form>

  </body>
</html>

<%
closeConn()
%>


Så har jeg lavet en overview.asp som skulle tage og hente alle de produkter, hvor der er blevet udfyldt nogle informationer i input feltet. Det skulle den så udskrive, sammen med en ialt pris.

min overview.asp

<!-- #include file="conn.asp" -->
<%
openConn()
strSQL1 = "SELECT vare.id FROM vare"
Set rs1 = connection.Execute(strSQL1)

While NOT rs1.EOF

If Request.Form("antal" & rs1("id")) <> "" Then

    strAntal    = Request.Form("antal" & rs1("id"))

    strSQL2 = "SELECT vare.id, vare.name, vare.size, vare.ekstra, vare.pris FROM vare WHERE vare.id =" & rs1("id")
    Set rs2 = connection.Execute(strSQL2)

End if

rs1.MoveNext
Wend

'strPrisialt        = Request.Form("antal" & rs1("id")) * rs2("pris")

'strName            = Request.Form("name")
'strAdress        = Request.Form("adress")
'strzip            = Request.Form("zip")
'strTlf            = Request.Form("tlf")
'strLeveringFra        = Request.Form("leveringfra")
'strLeveringTil        = Request.Form("leveringtil")
'strAfhentesFra        = Request.Form("afhentesfra")
'strAfhentesTil        = Request.Form("afhentestil")
%>

<html>
<head>
<style type="text/css">
p, td, th {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 10pt;
    color: #000000;
}
h1 {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 12pt;
    color: #000000;
}
input {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 9pt;
    color: #000000;
    border: 1px solid #660000;
}
</style>
</head>

<body>

<h1>Oversigt</h1>

<p>Du har bestilt:</p>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>Antal:</td>
    <td>Produkt:</td>
    <td>Mål:</td>
    <td>Ekstra:</td>
    <td>Stk. Pris:</td>
    <td>Pris i alt:</td>
  </tr>
<% While NOT rs2.EOF %>
  <tr>
    <td><%= strAntal%></td>
    <td><%=rs2("name")%></td>
    <td><%=rs2("size")%></td>
    <td><%=rs2("ekstra")%></td>
    <td><%=rs2("pris")%></td>
    <td><%'=strPrisialt%></td>
  </tr>
<% rs2.MoveNext
    Wend %>
</table>
</body>
</html>
<%
closeConn()
%>

Hvor ligger fejlene :)
Avatar billede babyworm Nybegynder
18. april 2004 - 12:31 #1
Mit problem lige nu er at den kun udskriver den første af de produkter som er valgt.. er nok noget loop der skal ind eller noget
Avatar billede eagleeye Praktikant
18. april 2004 - 13:03 #2
Er det ikke det sidste produkt, eller det produkt som er nyest?

Problemet (i overview.asp) er du får hele tiden overskrevet rs2 inde i det første loop så det er den sidste vare som er valgt:

Set rs2 = connection.Execute(strSQL2)

Så du må hvade flyttet det første loop omkring hvor du udskriver fra rs2 sådan noget i stil med dette:


<!-- #include file="conn.asp" -->
<%
openConn()


'strPrisialt        = Request.Form("antal" & rs1("id")) * rs2("pris")

'strName            = Request.Form("name")
'strAdress        = Request.Form("adress")
'strzip            = Request.Form("zip")
'strTlf            = Request.Form("tlf")
'strLeveringFra        = Request.Form("leveringfra")
'strLeveringTil        = Request.Form("leveringtil")
'strAfhentesFra        = Request.Form("afhentesfra")
'strAfhentesTil        = Request.Form("afhentestil")
%>

<html>
<head>
<style type="text/css">
p, td, th {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 10pt;
    color: #000000;
}
h1 {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 12pt;
    color: #000000;
}
input {
    font-family: Verdana, Tahoma, Arial, Sans-serif;
    font-size: 9pt;
    color: #000000;
    border: 1px solid #660000;
}
</style>
</head>

<body>

<h1>Oversigt</h1>

<p>Du har bestilt:</p>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>Antal:</td>
    <td>Produkt:</td>
    <td>Mål:</td>
    <td>Ekstra:</td>
    <td>Stk. Pris:</td>
    <td>Pris i alt:</td>
  </tr>
<%
strSQL1 = "SELECT vare.id FROM vare"
Set rs1 = connection.Execute(strSQL1)
While NOT rs1.EOF
If Request.Form("antal" & rs1("id")) <> "" Then
  strAntal    = Request.Form("antal" & rs1("id"))
  strSQL2 = "SELECT vare.id, vare.name, vare.size, vare.ekstra, vare.pris FROM vare WHERE vare.id =" & rs1("id")
  Set rs2 = connection.Execute(strSQL2)

  While NOT rs2.EOF %>
  <tr>
    <td><%= strAntal%></td>
    <td><%=rs2("name")%></td>
    <td><%=rs2("size")%></td>
    <td><%=rs2("ekstra")%></td>
    <td><%=rs2("pris")%></td>
    <td><%'=strPrisialt%></td>
  </tr>
<% rs2.MoveNext
  Wend
End if
rs1.Movenext
Wend %>
</table>
</body>
</html>
<%
closeConn()
%>
Avatar billede babyworm Nybegynder
15. maj 2004 - 20:40 #3
Det hele gik amok... så måtte få en gut til at lave det for 600 kr.. men tak fordi du gad hjælpe alligevel
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