07. november 2006 - 00:45Der er
24 kommentarer og 1 løsning
lave forms ud fra database og sende det i mail
Hej
det er lidt kringlet det jeg skal ha lavet men nu forsøger jeg at forklare det så godt som muligt.
1: Jeg har en tabel der ser således ud: navn: price felter: id, size, price eksempel på data: id=1, size=10x20, price=20 vil så gerne ha et stykke kode der gør følgende:
for record i prices skal den lave 1 felt hvor man kan skrive et indput i..så man vil se: Size output, priceout put og man så kan skrive hvor mange man vil ha.
2: nu kommer det svære så. pga det er et bestillings system til billeder som ligger i en database, så skal det være sådan at de forms der bliver lavet kan sendes vidre i en mail.
hvordan gøres det? hvordan gør man så man kan sende en mail med navnet på billedet samt hvad størelse og hvor mange og total pris? jeg gætter på man skal ha gang i noget array sjov?
http://www.peterholmfoto.dk/photo/katalog.asp der kan man se det system det skal sættes ind i.. godt nok viser den ingen billeder endnu pga jeg bare har brugt tekst imens jeg bygger det op. men ideen er den henter data fra databasne med kategorier og billeder, samt hvad størelser der er og priser.. alle billeder kan fåes i alle størelse og samme pris. ideen er så når man trykker ind på et galleri f.eks olgas brullyp, så vil man for hver billede se bestilings forms til hver størelse og antal. ideen er så til slut i kataloget er der en bestil knap der sender det man har valgt på mail til en. så derfor skal der billede navn med til hver form hvis det giver mening.
såfrem det ik giver mening så sig til så skal jeg prøve igen.
du behøver ikke tænke på at lave mail delen til mig det kan jeg godt selv om.. og ja der sendes for hver enkelt kategori... med mindre det er meget let at lave det så man kan bestille fra flere forskelige?
<% if request("bestil") <> "" then totalsum = request("antal") * request("price") varetekst = request("varetekst") farve_type = request("farve_type") str = request("str") ' og så smider du dette i en mail streng og sender
else %> <% 'her henter du fra din tabel i et loop %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form name="form" method="post" action="bestilling.asp"> <tr> <td> Angiv antal: <input name="antal" type="text" size="5"> <select name="farve_type"> <option value="farve">farve</option> <option value="sort hvid">sort hvid</option> </select> pris pr. stk. <input type="hidden" name="price" value="<%=price%>"> <input type="hidden" name="str" value="<%=str%>"> <input type="hidden" name="varetekst" value="<%=varetekst%>"></td> <td> </td> </tr> <tr> <td></td> <td> <input type="submit" name="Submit" value="bestil"> </td> </tr> </form> </table> <% end if %>
når det er gjort skal jeg ha lavet så i bunden af hver katalog kan man trykke bestil hvor den så tager alle de steder man har f.eks skrevet 1 el 3 eller sådan og sender:
hvad billede, hvad størelse hvor mange samt viser total pris i mail og total pris på siden. giver det mere mening nu?
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for b = 1 to antal_poster if request("antal_"& i) <> "" then total_vare = request("antal_"& i) * request("price_"& i) total_sum = int(total_sum) + int(total_vare) varetekst = request("varetekst_"& i) farve_type = request("farve_type_"& i) str = request("str_"& i) response.write "bestilling nr. " & b & " - " & request("antal_"& i) & " a kr. " & request("price_"& i) & " ialt kr. " & total_vare & "<br>"
end if ' og så smider du dette i en mail streng og sender
else %> <% 'her henter du fra din tabel i et loop 'du sætter en tæller på <% strSQL = "Select * from "din tabel"" set rs = conn.execute(strSQL) if not rs.eof then do i = i + 1 %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form name="form" method="post" action="bestilling.asp"> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <select name="farve_type_<%i%>"> <option value="farve">farve</option> <option value="sort hvid">sort hvid</option> </select> pris pr. stk. <input type="hidden" name="price_<%i%>" value="<%=price%>"> <input type="hidden" name="str_<%i%>" value="<%=str%>"> <input type="hidden" name="varetekst_<%i%>" value="<%=varetekst%>"></td> <td> </td> </tr>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if %>
Hmmmm nu kan det godt være det er mig der er noob men hvor henter du priserne fra dbén henne? eneste sted jeg kan se den henter noget fra en db er strSQL = "Select * from "din tabel"" og der skal jeg vel hente billederne? den kode jeg har nu ser således ud:
<% if mode = "show" then %>
<% SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL)%> <% Do Until rs.EOF %>
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for b = 1 to antal_poster if request("antal_"& i) <> "" then total_vare = request("antal_"& i) * request("price_"& i) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& i) farve_type = request("farve_type_"& i) own_id = request("own_id_"& i) response.write "bestilling nr. " & b & " - " & request("antal_"& i) & " a kr. " & request("price_"& i) & " ialt kr. " & total_vare & "<br>"
end if ' og så smider du dette i en mail streng og sender
else %> <% 'her henter du fra din tabel i et loop 'du sætter en tæller på if mode = "show" then
SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then do i = i + 1 %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form name="form" method="post" action="bestilling.asp"> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <select name="farve_type_<%i%>"> <option value="farve">farve</option> <option value="sort hvid">sort hvid</option> </select> pris pr. stk. <input type="hidden" name="price_<%i%>" value="<%=rs("price")%>"> <input type="hidden" name="own_id_<%i%>" value="<%=rs("own_id")%>"> <input type="hidden" name="comment_<%i%>" value="<%=rs("comment")%>"></td> <td> </td> </tr>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if %>
' du må jo have en pris fra db så du kan lave din beregning har rettet lidt til her
prøver lige igen - der var noget galt med form start
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for b = 1 to antal_poster if request("antal_"& i) <> "" then total_vare = request("antal_"& i) * request("price_"& i) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& i) farve_type = request("farve_type_"& i) own_id = request("own_id_"& i) response.write "bestilling nr. " & b & " - " & request("antal_"& i) & " a kr. " & request("price_"& i) & " ialt kr. " & total_vare & "<br>"
end if ' og så smider du dette i en mail streng og sender
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% 'her henter du fra din tabel i et loop 'du sætter en tæller på if mode = "show" then
SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <select name="farve_type_<%i%>"> <option value="farve">farve</option> <option value="sort hvid">sort hvid</option> </select> pris pr. stk. <input type="hidden" name="price_<%i%>" value="<%=rs("price")%>"> <input type="hidden" name="own_id_<%i%>" value="<%=rs("own_id")%>"> <input type="hidden" name="comment_<%i%>" value="<%=rs("comment")%>"></td> <td> </td> </tr>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if %>
der kan du se min db og hvordan den er opbygget.. er måske mig der ik har forklaret det ordenligt....
Kategori lister de kategorier der er. billede har own_id som indeholder det id de høre til i kategori
prices er en selvstændig tabel, som indeholder en række størelser og priser i formatet: Size - price 20x40 - 20 40x50 - 40
osv
under hver billede skal der være en række pricer og et felt hvor man kan udfylde hvor mange af hver man vil ha.. det skal altså hentes fra tabelén prices....
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for b = 1 to antal_poster if request("antal_"& i) <> "" then total_vare = request("antal_"& i) * request("price_"& i) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& i) farve_type = request("farve_type_"& i) own_id = request("own_id_"& i) response.write "bestilling nr. " & b & " - " & request("antal_"& i) & " a kr. " & request("price_"& i) & " ialt kr. " & total_vare & "<br>"
end if ' og så smider du dette i en mail streng og sender
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% SQL = "Select * From price order" set rs = Conn.execute(SQL) if not rs.eof then do str = rs("size") prize = rs("prize") str_1 = str & "," & str_1 prize_1 = prize & "," & prize_1 rs.movenext loop while not rs.eof end if prize_1 = trim(prize_1) str_1 = trim(str_1)
If Right(prize_1, 1) = "," Then prize_1 = Left(prize_1, len(prize_1)-1) End If If Right(str_1, 1) = "," Then str_1 = Left(str_1, len(str_1)-1) End If Array_str_1 = Split(str_1,",") Array_prize_1 = Split(prize_1,",") 'her henter du priser og størrelser
if mode = "show" then
SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5">
<% for b = lBound(Array_str_1) to uBound(Array_str_1) %> <input type="radio" name="str_<%=i%>" value="<%=Array_str_1(b)%>"> <% next %> <% for b = lBound(Array_prize_1) to uBound(Array_prize_1) %> <input type="hidden" name="price_<%i%>" value="<%=Array_prize_1(b)%>"> <% next %> pris pr. stk. <%=Array_prize_1(b)%>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if %> ' du kan selv sætte det op i tabellen
' jeg havde lavet en fejl i toppen der er her rettet - prøv det - hvis ikke må du lige smide hele sidens kode her
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for c = 1 to antal_poster if request("antal_"& c) <> "" then total_vare = request("antal_"& c) * request("price_"& c) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& c) farve_type = request("farve_type_"& c) own_id = request("own_id_"& c) response.write "bestilling nr. " & c & " - " & request("antal_"& c) & " a kr. " & request("price_"& c) & " ialt kr. " & total_vare & "<br>" ' og så smider du dette i en mail streng og sender
end if next
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% SQL = "Select * From price order" set rs = Conn.execute(SQL) if not rs.eof then do str = rs("size") prize = rs("prize") str_1 = str & "," & str_1 prize_1 = prize & "," & prize_1 rs.movenext loop while not rs.eof end if prize_1 = trim(prize_1) str_1 = trim(str_1)
If Right(prize_1, 1) = "," Then prize_1 = Left(prize_1, len(prize_1)-1) End If If Right(str_1, 1) = "," Then str_1 = Left(str_1, len(str_1)-1) End If Array_str_1 = Split(str_1,",") Array_prize_1 = Split(prize_1,",") 'her henter du priser og størrelser if mode = "show" then SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <% for b = lBound(Array_str_1) to uBound(Array_str_1) %> <input type="radio" name="str_<%=i%>" value="<%=Array_str_1(b)%>"> <% next %> <% for b = lBound(Array_prize_1) to uBound(Array_prize_1) %> <input type="hidden" name="price_<%i%>" value="<%=Array_prize_1(b)%>"> <% next %> pris pr. stk. <%=Array_prize_1(b)%>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if %>
<% mode = request("mode") %><% if mode = "" then %>
<% SQL = "SELECT * FROM kategori" set rs = Conn.execute(SQL)
while NOT rs.EOF%> <div><b>Galleri Navn: </b><br> <a href="?mode=show&view_id=<%=rs("id")%>"><%=rs("navn")%></a><br> <b>Galleri Beskrivelse: </b><br> <%=rs("desc")%><br> </div> <% rs.MoveNext Wend
Conn.close%>
<% end if %>
<% if mode = "show" then i = 0 %>
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for c = 1 to antal_poster if request("antal_"& c) <> "" then total_vare = request("antal_"& c) * request("price_"& c) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& c) farve_type = request("farve_type_"& c) own_id = request("own_id_"& c) response.write "bestilling nr. " & c & " - " & request("antal_"& c) & " a kr. " & request("price_"& c) & " ialt kr. " & total_vare & "<br>" ' og så smider du dette i en mail streng og sender
end if next
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% SQL = "Select * From prices" set rs = Conn.execute(SQL) if not rs.eof then do str = rs("size") prize = rs("price") str_1 = str & "," & str_1 prize_1 = prize & "," & prize_1 rs.movenext loop while not rs.eof end if prize_1 = trim(prize_1) str_1 = trim(str_1)
If Right(prize_1, 1) = "," Then prize_1 = Left(prize_1, len(prize_1)-1) End If If Right(str_1, 1) = "," Then str_1 = Left(str_1, len(str_1)-1) End If Array_str_1 = Split(str_1,",") Array_prize_1 = Split(prize_1,",") 'her henter du priser og størrelser if mode = "show" then SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <% for b = lBound(Array_str_1) to uBound(Array_str_1) %> <input type="radio" name="str_<%=i%>" value="<%=Array_str_1(b)%>"> <% next %> <% for b = lBound(Array_prize_1) to uBound(Array_prize_1) %> <input type="hidden" name="price_<%i%>" value="<%=Array_prize_1(b)%>"> <% next %> pris pr. stk. <%=Array_prize_1(b)%>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if
end if %> <br><br><i> <% EndTime = Timer() TotalTime = EndTime - StartTime Response.write "Page was generated in: " & TotalTime & " sek." %></i>
jeg har ændret dette i din kode:
SQL = "Select * From price order"
til
SQL = "Select * From price" ved ik hvorfor du har sat order bagefter?
<% mode = request("mode") %><% if mode = "" then %>
<% SQL = "SELECT * FROM kategori" set rs = Conn.execute(SQL)
while NOT rs.EOF%> <div><b>Galleri Navn: </b><br> <a href="?mode=show&view_id=<%=rs("id")%>"><%=rs("navn")%></a><br> <b>Galleri Beskrivelse: </b><br> <%=rs("desc")%><br> </div> <% rs.MoveNext Wend
Conn.close%>
<% end if %> ' <% dim i,b if mode = "show" then i = 0 %>
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for c = 1 to antal_poster if request("antal_"& c) <> "" then total_vare = request("antal_"& c) * request("price_"& c) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& c) farve_type = request("farve_type_"& c) own_id = request("own_id_"& c) response.write "bestilling nr. " & c & " - " & request("antal_"& c) & " a kr. " & request("price_"& c) & " ialt kr. " & total_vare & "<br>" ' og så smider du dette i en mail streng og sender
end if next
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% SQL = "Select * From prices" set rs = Conn.execute(SQL) if not rs.eof then do str = rs("size") prize = rs("price") str_1 = str & "," & str_1 prize_1 = prize & "," & prize_1 rs.movenext loop while not rs.eof end if prize_1 = trim(prize_1) str_1 = trim(str_1)
If Right(prize_1, 1) = "," Then prize_1 = Left(prize_1, len(prize_1)-1) End If If Right(str_1, 1) = "," Then str_1 = Left(str_1, len(str_1)-1) End If Array_str_1 = Split(str_1,",") Array_prize_1 = Split(prize_1,",") 'her henter du priser og størrelser if mode = "show" then SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <% for b = lBound(Array_str_1) to uBound(Array_str_1) %> <input type="radio" name="str_<%=i%>" value="<%=Array_str_1(b)%>"> <% next %> <% for b = lBound(Array_prize_1) to uBound(Array_prize_1) %> <input type="hidden" name="price_<%i%>" value="<%=Array_prize_1(b)%>"> <% next %> pris pr. stk. <%=Array_prize_1(b)%>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if
end if %> <br><br><i> <% EndTime = Timer() TotalTime = EndTime - StartTime Response.write "Page was generated in: " & TotalTime & " sek." %></
<% mode = request("mode") %><% if mode = "" then %>
<% SQL = "SELECT * FROM kategori" set rs = Conn.execute(SQL)
while NOT rs.EOF%> <div><b>Galleri Navn: </b><br> <a href="?mode=show&view_id=<%=rs("id")%>"><%=rs("navn")%></a><br> <b>Galleri Beskrivelse: </b><br> <%=rs("desc")%><br> </div> <% rs.MoveNext Wend
Conn.close%>
<% end if %> ' <% dim i,b if mode = "show" then i = 0 %>
<% if request("bestil") <> "" then antal_poster = request("antal_poster") for c = 1 to antal_poster if request("antal_"& c) <> "" then total_vare = request("antal_"& c) * request("price_"& c) total_sum = int(total_sum) + int(total_vare) comment = request("comment_"& c) farve_type = request("farve_type_"& c) own_id = request("own_id_"& c) response.write "bestilling nr. " & c & " - " & request("antal_"& c) & " a kr. " & request("price_"& c) & " ialt kr. " & total_vare & "<br>" ' og så smider du dette i en mail streng og sender
end if next
else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <% SQL = "Select * From prices" set rs = Conn.execute(SQL) if not rs.eof then do str = rs("size") prize = rs("price") str_1 = str & "," & str_1 prize_1 = prize & "," & prize_1 rs.movenext loop while not rs.eof end if prize_1 = trim(prize_1) str_1 = trim(str_1)
If Right(prize_1, 1) = "," Then prize_1 = Left(prize_1, len(prize_1)-1) End If If Right(str_1, 1) = "," Then str_1 = Left(str_1, len(str_1)-1) End If Array_str_1 = Split(str_1,",") Array_prize_1 = Split(prize_1,",") 'her henter du priser og størrelser if mode = "show" then SQL = "Select * From billeder where own_id="& Request.QueryString("view_id") set rs = Conn.execute(SQL) if not rs.eof then %> <form name="form" method="post" action="bestilling.asp"> <% do i = i + 1 %> <tr> <td> Angiv antal: <input name="antal_<%i%>" type="text" size="5"> <% for b = lBound(Array_str_1) to uBound(Array_str_1) %> <input type="radio" name="str_<%=i%>" value="<%=Array_str_1(b)%>"> <% next %> <% for b = lBound(Array_prize_1) to uBound(Array_prize_1) %> <input type="hidden" name="price_<%=i%>" value="<%=Array_prize_1(b)%>"> <% next %> pris pr. stk. <%=Array_prize_1(b)%>
<% rs.movenext loop while not rs.eof end if %> <tr> <td></td> <td> <input type="hidden" name="antal_poster" value="<%=i%>"> <input type="submit" name="bestil" value="bestil"> </td> </tr> </form> </table> <% end if end if
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.