Avatar billede west Nybegynder
14. marts 2003 - 22:18 Der er 8 kommentarer og
1 løsning

opdater en checkbox ??

hvordan opdaterer jeg en checkbox så den laver den om både hvis den er markeret (checked) eller ikke markeret
Avatar billede grunken Nybegynder
14. marts 2003 - 22:21 #1
er du sikker på at det her hører hjemme i den rigtige kategori ?

det kan nemt laves med javascript

-grunken
Avatar billede west Nybegynder
14. marts 2003 - 22:39 #2
ja det skal opdateres i en database
lidt ala :
update etellerandet set bla bla bla
Avatar billede edutasia Nybegynder
14. marts 2003 - 22:53 #3
Hvis værdien af din checkbox skal indsættes i et databasefelt af typen boolean (dvs. Ja/Nej eller True/False) i en eksisterende post, gør du sådan her:

1. Find ud af, om checkboxen er afkrydset og sæt strengen strChecked derefter:

If Request("NavnPaaCheckBox") = "on" Then
  strChecked = "true"
Else
  strChecked = "false"
End If

2. Opdater feltet med den nye værdi:

strSql = "UPDATE NavnPaaTabel SET NavnPaaCheckFelt=" & strChecked & " WHERE  (skriv dine kriterier her)"

Conn.Execute(strSql)
Avatar billede west Nybegynder
14. marts 2003 - 23:14 #4
er der en genvej hvis jeg har mange checkboxe ?
Avatar billede edutasia Nybegynder
15. marts 2003 - 01:19 #5
Jeg kan ikke lige komme i tanker om nogen - med mindre du bruger JavaScript, da du så kan skrive If-sætningerne på en nemmere måde:

strSql = "UPDATE NavnPaaTabel SET ";
strSql += "NavnPaaCheckFelt1=" + Request("NavnPaaCheckBox1") == "on" ? "true" : "false";
strSql += ", NavnPaaCheckFelt2=" + Request("NavnPaaCheckBox2") == "on" ? "true" : "false";
strSql += ", NavnPaaCheckFelt3=" + Request("NavnPaaCheckBox3") == "on" ? "true" : "false";
.. osv.
strSql += " WHERE  (skriv dine kriterier her)"
Avatar billede dcasso Nybegynder
15. marts 2003 - 07:55 #6
At opdatere en checkbox i db'en kan jo godt skrives på få linier, som er overskuelige, bare benyt variable. Eks

'Start på SQL-statement
SQLstmt = "Update Tabel Set "

'Checkbox 1
checkboxens_navn = "checkbox1"
felt_i_db = "felt1"
if request.form(checkboxens_navn) = "on" then sqlstmt = sqlstmt & " " & felt_i_db & " = true" else sqlstmt = sqlstmt & " " & felt_i_db & " = false"

'Checkbox 2, husk komma foran navn, fordi vi skal adskille i sql-stmt
checkboxens_navn = "checkbox2"
felt_i_db = ",felt2"
if request.form(checkboxens_navn) = "on" then sqlstmt = sqlstmt & " " & felt_i_db & " = true" else sqlstmt = sqlstmt & " " & felt_i_db & " = false"


På denne måde kan du være ligeglad med if-sætningen og bare ændre de to variable. Dette kan også implementeres i en løkkestruktur, hvis feltnavne og checkboxene er af ens nummerering
Avatar billede hossein Nybegynder
15. marts 2003 - 10:18 #7
Avatar billede soes Nybegynder
15. marts 2003 - 14:51 #8
Hvis der udelukkende er checkboxe paa siden som dataen sendes fra kan du maaske bruge dette:

For Each Item In Request.Form

  SQL = "UPDATE Table SET [col] = Request.Form(Item) WHERE [id] = " & Item
  Conn.Execute(Sql)
Next

Dette kraever dog at alle dine checkboxe har id'et fra databasen som deres name attribut og at din submit knap ikke har nogen name attribut.
Avatar billede west Nybegynder
16. marts 2003 - 00:15 #9
jeg brugte edutasia's løsning, det tog tid, men det var den jeg bedst kunne se logikken i.

tak for hjælpen
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