Avatar billede runzor Nybegynder
15. februar 2004 - 17:50 Der er 17 kommentarer og
1 løsning

Dropdown skal update en DB

Jeg har en side med to dropdowns.

eks første dropdown er angivet:
<SELECT value="1" name=select1>
<OPTION id="11">1. dropdown, 1.valg derfor er id=11</OPTION>
<OPTION id="12">1. dropdown, 2.valg derfor er id=12</OPTION>

den næste hedder derfor
<SELECT value="2" name=select2>
<OPTION id="21">2. dropdown, 1.valg derfor er id=21</OPTION>
<OPTION id="22">2. dropdown, 2.valg derfor er id=22</OPTION>

når der er foretaget valg i begge dropdowns bruges en button post, til en anden asp-side. på denne side skal jeg så have fat i hvad brugeren har valgt for derefter at update min DB:

UPDATE [tabel] SET valg = [select1's value] WHERE valgnavn = [option med id=11]

men hvordan får jeg fat i valuen på selecten og id'et på optionen i samme select?

Håber der var nogen der fik fat i hvad det drejer sig om :-)
Avatar billede thesurfer Nybegynder
15. februar 2004 - 18:58 #1
hmm..
Der skulle vel stå: <OPTION value="11" (value i stedet for id)

Så skulle du vist kunne fange værdierne med:
request.form("select1")
request.form("select2")
Avatar billede runzor Nybegynder
15. februar 2004 - 20:06 #2
en option kan både tildeles value od id.

det du har skrevet giver mig kun en værdi at arbejde nemlig value. jeg har brug for at arbejde med to værdier. er det ikke muligt i en dropdown?
Avatar billede thesurfer Nybegynder
15. februar 2004 - 20:12 #3
hvad er det der skal opdateres? Det virker som om du har 2 felter i din database, der skal opdateres.. og de skal opdateres med de værdier du henter fra selectboxene..

Skal begge værdier opdateres i databasen?

Forklar hvad det er du vil..
Avatar billede runzor Nybegynder
15. februar 2004 - 20:14 #4
jeg vil tage to værdier fra selectboxene. den ene til at finde det rigtige felt i min DB og den anden skal så smides ind i et andet ledig felt
Avatar billede thesurfer Nybegynder
15. februar 2004 - 20:34 #5
Måske er det bare mig, der ikke fatter noget af det.. men skal det ikke se sådan ud (eksempel):

UPDATE [tabel] SET valg = 12 WHERE valgnavn = 22

Her har jeg valgt nummer 2 både i den første og anden selectbox..

Eller 2 i første, og 1 i anden:

UPDATE [tabel] SET valg = 12 WHERE valgnavn = 21

Er det ikke sådan?
Avatar billede runzor Nybegynder
15. februar 2004 - 20:39 #6
nej det kan være jeg ikke har forklaret det tydeligt nok. de to bokse har intet med hinanden at gøre. det var for at vise jeg havde flere på samme side. min fejl sry. det drejer sig om
UPDATE [tabel] SET valg = [1. value fra select1] WHERE valgnavn = [2. value fra select1]
Avatar billede thesurfer Nybegynder
15. februar 2004 - 21:03 #7
Enten så er det mig der ikke fatter noget af det, eller også er det noget mærkeligt noget, du vil lave :)

Prøv et eksempel med 1 select box, og nogle rigtige værdier.. i stedet for "1. value" osv..
Avatar billede thesurfer Nybegynder
15. februar 2004 - 21:04 #8
F.eks.:
<SELECT value="2" name=select2>
<OPTION id="21">HEST</OPTION>
<OPTION id="22">KO</OPTION>
</SELECT>

Bliver til.. UPDATE [tabel] SET valg = 'HEST' WHERE valgnavn = 'KO' ?
Avatar billede thesurfer Nybegynder
15. februar 2004 - 21:05 #9
Man kunne også bruge nogle hidden-felter..
Avatar billede runzor Nybegynder
15. februar 2004 - 22:23 #10
så prøver jeg sådan her:

<SELECT name=select2>
<OPTION value="HEST" id="21">HEST</OPTION>
<OPTION value="KO" id="22">KO</OPTION>
</SELECT>

Bliver til.. UPDATE [tabel] SET valg = 'HEST' WHERE valgnavn = '21'

giver det mening nu?
Avatar billede thesurfer Nybegynder
15. februar 2004 - 22:48 #11
Jeg ved ikke lige hvordan man får fat på "id", på asp siden.. men du kan gøre sådan her:

<SELECT value="1" name=select1>
<OPTION value="HEST*11">Vælg HEST & 11</OPTION>
<OPTION value="KO*12">Vælg KO & 12</OPTION>
</select>

og asp:

valg = left( request.form("select1") , inStr(request.form("select1"), "*") - 1 )
valgnavn = mid(request.form("select1"), inStr(request.form("select1"), "*") + 1)

sql = "UPDATE [tabel] SET valg = '" & valg & "' WHERE valgnavn = '" & valgnavn & "'"
response.write sql ' se resultatet..
Avatar billede thesurfer Nybegynder
15. februar 2004 - 22:49 #12
Det skal lige siges, at vis "valgnavn" er af typen "tal", skal der ikke være ' tegn udenom:
sql = "UPDATE [tabel] SET valg = '" & valg & "' WHERE valgnavn = " & valgnavn
Avatar billede runzor Nybegynder
15. februar 2004 - 22:52 #13
lade spm. stå åbent lidt endnu for at se om der skulle kigge en forbi der ved besked...
Avatar billede thesurfer Nybegynder
15. februar 2004 - 22:53 #14
Test lige det sidste jeg skrev.. det virker..
Avatar billede runzor Nybegynder
15. februar 2004 - 22:54 #15
det er jeg klar over da det var det jeg selv startede med at lave... derfor vil jeg se om der er en "pænere" måde at lave det på.
Avatar billede runzor Nybegynder
17. marts 2004 - 09:24 #16
ingen der kan give et svar. lukker derfor
Avatar billede thesurfer Nybegynder
17. marts 2004 - 09:41 #17
Jeg kan ikke se den "grimme" del af den metode..

Hvis du vil lukke spm'et, skal du lige markere dit navn i boksen, *inden* du klikker på Accepter-knappen.
Avatar billede runzor Nybegynder
17. marts 2004 - 10:17 #18
ok så lærte jeg det... takker
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