Avatar billede zenile Nybegynder
10. september 2001 - 12:38 Der er 8 kommentarer og
2 løsninger

Sætte checkbox ind i db


Jeg har en liste over nogle boliger til salg på en side. Ud for hver bolig kan man vælge en checkbox. Når man har valgt ca. 10 stk trykker man på \"update\" og data\'ene bliver sendt med url\'en. Mit spørgsmåler:

Hvordan matcher jeg nu de ID\'er der er blevet blevet sendt med, [hus_list_update_chosen.asp?husid=18&husid=56] med de ID\'er jeg har i db (access). Den skal gøre noget i stil med:

-----------------------------------------------
StrHusIDer = request(\"husid\")

do while not UpdateRecord.EOF
If UpdateRecord(\"hID\") = StrHusIDer Then
UpdateRecord.fields(\"hChosenFP\") = True
Else
UpdateRecord.fields(\"hChosenFP\") = False
End If

UpdateRecord.Update
UpdateRecord.moveNext
loop
-----------------------------------------------

Men det virker ikke... - Any ideas?

Zenile
Avatar billede zenile Nybegynder
10. september 2001 - 12:55 #1
Er det for lidt point hvis man tør spørge?

Zenile
Avatar billede bobbedude Nybegynder
10. september 2001 - 13:01 #2
lytter>>
Avatar billede Søren Bech Morsing Praktikant
10. september 2001 - 13:05 #3
går ud fra du har sender true med som value fra dine checkboxe.
Så kan du bare gennemløbe dine boliger bagefter og hente hver checkbox og checke om den er sat til true, eller er den jo \"false\".
(du skulle poste dine data i stedet.)

lav dine checkboxe ala
name=bolig\"id\" value=true
name=bolig\"id\" value=true

gennemløb så din db hvor du har dine boliger i.

Avatar billede zenile Nybegynder
10. september 2001 - 13:08 #4
hus_list_update_chosen.asp?husid=18&husid=56, er hvad jeg sender med, men det kan selvfølgelig ændres.

gennemløbe, hente, checke, ændre... det lyder som derhen hvor jeg gerne vil være, men hvordan?

Zenile
Avatar billede Søren Bech Morsing Praktikant
10. september 2001 - 13:45 #5
altså
<form action=\"senddinedata.asp\" methoed=\"post\">
while !EOF \' du løber din database igennem
<input type=\"checkbox\" name=\"bolig\"&boligid&\" value=\"true\">
movenext
wend

når du har postet så laver du bare det samme gennemløb som ovenfor.
når du så request.form(\"bolig\"&boligid) tjecker du på om den er = \"true\". Hvis den er det ja så sætter du true ind i databasen! ellers ingenting

Avatar billede vesterager Nybegynder
10. september 2001 - 16:36 #6
sbk, jeg satte en kommentar ind i dit spørgsmål om en Drag&drop-applet, der kunne håndtere filer. Skriv lige tilbage, hvis du stadig er interesseret i en løsning.
Avatar billede Søren Bech Morsing Praktikant
10. september 2001 - 16:37 #7
vestager: det er jeg da bestemt
Avatar billede eagleeye Praktikant
10. september 2001 - 17:07 #8
Du har muligvis fået svar nok, men her er et lille eksmpel jeg engang har lavet med checkboxe.

Pricipet: Den første side hvor man vælger hvilke der skal ændre, er lavet en checkbox ud fra hver Bolig (du skal selv indsættet information omkring bolig). Alle checkboxe har samme navn (KAK, spørg ikke hvorfor navnet er KAK), checkboxens ID sættes til Bolig\'s ID fra databasen, jeg antager at hver bolig vil havde en unik ID. På den anden side er lavet et for loop som opdatere [True/False] feltet (bliver sat til true) i databasen hvor bolig ID er lig med ID på de checkboxe som er valgt:


Dette skal være i filen hvor man vælge checkboxne:

&#8217;Kør din SQL inden som han hendte Bolig ID som skal insættet i Checkboxen.
If Not (rs.BOF Or rs.EOF) Then
  %>
  <form method=\"post\" action=\" hus_list_update_chosen.asp\" name=\"hhabb\">
<% Do While Not rs.EOF
  &#8217;INDSÆT NOGET INFO OMKRING BOLIG evt i tabel form
  %>
  <input type=\"checkbox\" name=KAK value=<%=rs(\"ID\")%>><br>
<% rs.MoveNext
  Loop %>   
  <p><input type=\"submit\" value=\"Bestil\" name=\"Action\"></p>
  </form>
  <%
Else
\' Hvis der ikke er fundet poster på søgningen
Response.Write \"<p>Der er ikke fundet noget på denne søgning</p>\"
End If
\' Rydder op efter os
myConn.Close
\'rs.Close
Set myConn = Nothing


-- hus_list_update_chosen.asp------

<%
\'nItem Antal checkbokse som er med [x].
nItems = Request.Form(\"KAK\").Count
if (nItems >= 1) then
  &#8217;Henter værdien fra sidste side
  For i = 1 To nItems
    strSQL = \"UPDATE dintabel SET ditfelt=true WHERE ID=\"&Request.Form(\"KAK\")(i)
    Set rs = myConn.Execute(strSQL)
  Next
  myConn.Close
else
  Response.Write \"Mindst en vare skal vælges\"
end if
%>
Avatar billede eagleeye Praktikant
10. september 2001 - 17:32 #9
hmmm det der  &#8217;  skulle være sådan en her \'
Avatar billede vesterager Nybegynder
10. september 2001 - 22:09 #10
sbk: Kunne du kontakte mig på vesterager@tvi.dk
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