20. juni 2006 - 21:15Der er
16 kommentarer og 1 løsning
Gemme flere poster på en gang
Jeg har denne side hvor jeg får en liste med flere poster.. hvor jeg vil gemme alle poster på en gang, men hvordan gør jeg det når jeg submitter?
<div class="title">Godkend profilbilleder</div>
<% Set rspicture = Conn.Execute("select * from profilepictures WHERE approved = false") if not rspicture.eof then %> <table border="0" cellspacing="1" cellpadding="0" width="100%"> <tr>
<% AntalKolonner = 3' Juster denne hvis der skal være et andet antal kolonner counter = 0 do while not rspicture.eof %> <td class="catpoint"> <%=Getusername("" & rspicture("userID") & "") & Getusernamesex("" & rspicture("userID") & "")%><br/> <%=ShowProfilePicture("" & rspicture("userID") & "")%><br/> <input type="radio" name="approve" value="yes" checked=""> Godkend <input type="radio" name="approve" value="no"> Afvis</td>
<% response.Write "</td>" rspicture.movenext
counter = counter + 1 if counter mod AntalKolonner = 0 then response.Write " </tr>" & vbCrLf if not rspicture.eof then response.Write " <tr>" & vbCrLf end if end if loop rspicture.close set rs = nothing
' udfyld resten af cellerne i den aktuelle række do while counter mod AntalKolonner <> 0 response.Write "<td> </td>" counter = counter + 1 loop %> </tr> </table> <input type="submit" value="Godkend / Afvis" class="inputsubmit" /> <% end if %>
<div class="title">Godkend profilbilleder</div> <form method="post" action="default.asp?S=10&M=Profilepictures"> <% Set rspicture = Conn.Execute("select * from profilepictures WHERE approved = false") if not rspicture.eof then %> <table border="0" cellspacing="1" cellpadding="0" width="100%"> <tr>
<% AntalKolonner = 4' Juster denne hvis der skal være et andet antal kolonner counter = 0 do while not rspicture.eof %> <td style="text-align:center;"> <%=Getusername("" & rspicture("userID") & "") & Getusernamesex("" & rspicture("userID") & "")%><br/> <%=ShowProfilePicture("" & rspicture("userID") & "")%><br/> <input type="radio" name="<%=rsPicture("ID")%>" value="ja" checked="" style="background: green;"> <input type="radio" name="<%=rsPicture("ID")%>" value="nej" style="background: red;"></td>
<% response.Write "</td>" rspicture.movenext
counter = counter + 1 if counter mod AntalKolonner = 0 then response.Write " </tr>" & vbCrLf if not rspicture.eof then response.Write " <tr>" & vbCrLf end if end if loop rspicture.close set rs = nothing
' udfyld resten af cellerne i den aktuelle række do while counter mod AntalKolonner <> 0 response.Write "<td> </td>" counter = counter + 1 loop %> </tr> </table> <input type="submit" value="Godkend / Afvis" class="inputsubmit" /> </form> <% end if %>
Nu skrver du godt nok "gemme" i overskriften, men jeg gætter på at du i virkeligheden meder opdatere... Der skal vel ikke oprettes nye poster, men kun pådateres i de eksistrende poster i din tabel "profilepictures". Korrekt?
Jeg henter ud fra databasen, i databasen har jeg et felt der hedder "approved". Når jeg gemmer,skal Ja værdierne give approved = true og nej værdierne skal slette min record fra databasen
Så skal bare have et output hvor jeg kan sige hvis #id# = ja then osv.
<div class="title">Godkend profilbilleder</div> <form method="post" action="default.asp?S=10&M=Profilepictures"> <% Set rspicture = Conn.Execute("select * from profilepictures WHERE approved = false") if not rspicture.eof then %> <table border="0" cellspacing="1" cellpadding="0" width="100%"> <tr>
<% AntalKolonner = 4' Juster denne hvis der skal være et andet antal kolonner counter = 0 do while not rspicture.eof %> <td style="text-align:center;"> <%=Getusername("" & rspicture("userID") & "") & Getusernamesex("" & rspicture("userID") & "")%><br/> <%=ShowProfilePicture("" & rspicture("userID") & "")%><br/> <input type="checkbox" name="<%=rsPicture("ID")%>" checked=""> <% response.Write "</td>" rspicture.movenext
counter = counter + 1 if counter mod AntalKolonner = 0 then response.Write " </tr>" & vbCrLf if not rspicture.eof then response.Write " <tr>" & vbCrLf end if end if loop rspicture.close set rs = nothing
' udfyld resten af cellerne i den aktuelle række do while counter mod AntalKolonner <> 0 response.Write "<td> </td>" counter = counter + 1 loop %> </tr> </table> <input type="submit" value="Godkend / Afvis" class="inputsubmit" /> </form> <% end if %>
Ok, når du så har submittet din form, så løver du tabellen "profilepictures" igennem en gang til of så spørger du på Form.Request(...):
Set rsPicture = Conn.Execute("SELECT * FROM profilepictures WHERE approved = false") Do While Not rsPicture.EOF If Request.Form(rsPicture("ID")) == "on" Then sqlUpdate = "UPDATE profilepictures SET approved = true WHERE id = " & rsPicture("ID") Con.Execute(sqlUpdate) End If rsPicture.MoveNext Loop
Set rsPicture = Conn.Execute("SELECT * FROM profilepictures WHERE approved = false") Do While Not rsPicture.EOF If Request.Form("cb" & rsPicture("ID")) == "on" Then sqlUpdate = "UPDATE profilepictures SET approved = true WHERE id = " & rsPicture("ID") Con.Execute(sqlUpdate) End If rsPicture.MoveNext Loop
Efter nærmere omtanke vil jeg gerne have den med radio buttons, da jeg nok udvider funktionen med flere valg, eks ligesom her..
Så vil jeg gerne kunne sige noget med if id = "Godkend" then if if = "Straf" then osv, og så på den måde styre hvad der skal ske, alt efter hvilken radio button der er valgt..
<div class="title">Godkend profilbilleder</div>
<% Set rspicture = Conn.Execute("select * from profilepictures WHERE approved = false") if not rspicture.eof then %> <table border="0" cellspacing="1" cellpadding="0" width="100%"> <tr>
<% AntalKolonner = 3' Juster denne hvis der skal være et andet antal kolonner counter = 0 do while not rspicture.eof %> <td class="catpoint"> <%=Getusername("" & rspicture("userID") & "") & Getusernamesex("" & rspicture("userID") & "")%><br/> <%=ShowProfilePicture("" & rspicture("userID") & "")%><br/> <input type="radio" name="<%=rsPicture("ID") %>" value="Godkend" checked=""> Godkend <input type="radio" name="<%=rsPicture("ID") %>" value="Straf"> Straf</td> <input type="radio" name="<%=rsPicture("ID") %>" value="Afvis"> Afvis</td>
<% response.Write "</td>" rspicture.movenext
counter = counter + 1 if counter mod AntalKolonner = 0 then response.Write " </tr>" & vbCrLf if not rspicture.eof then response.Write " <tr>" & vbCrLf end if end if loop rspicture.close set rs = nothing
' udfyld resten af cellerne i den aktuelle række do while counter mod AntalKolonner <> 0 response.Write "<td> </td>" counter = counter + 1 loop %> </tr> </table> <input type="submit" value="Godkend / Afvis" class="inputsubmit" /> <% end if %>
Set rsPicture = Conn.Execute("SELECT * FROM profilepictures") Do While Not rsPicture.EOF rb = Request.Form("cb" & rsPicture("ID")) If rb <> "" Then sqlUpdate = "UPDATE profilepictures SET approved = " & rb & " WHERE id = " & rsPicture("ID") Con.Execute(sqlUpdate) End If rsPicture.MoveNext Loop
For hvis jeg vælger afvis, skal jeg ikke opdatere, men derimod slette posten, væger jeg straf, så skal jeg slette posten, men også lave noget i anden tabel..
http://www.eksperten.dk/spm/716781 Har tilladt mig at smide spørgsmålet derover, og lukker her, tror vi er for meget rundt omkring det hele,så det ikke er helt til at hitte ud af.. Så nyt friskt spørgsmål, men præcis hvad det er jeg vil
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.