Avatar billede monstermand Nybegynder
12. februar 2004 - 19:15 Der er 6 kommentarer og
2 løsninger

Multiple select skal indsættes

Hej,

jeg har en select der ser sådan ud:

<select class="vs" name="customer_employee_id" size="15" multiple>

Jeg vil vide hvordan jeg indsætter de valg der foretages ind i en MySQL database. Regner med at der skal bruges noget array..

Håber nogen kan hjælpe mig!
Avatar billede eagleeye Praktikant
12. februar 2004 - 19:19 #1
Hvis der er flere valgte så du en komma sepereret liste med values når du skrivre:
Request.Form("customer_employee_id")
Avatar billede monstermand Nybegynder
12. februar 2004 - 19:20 #2
hmm.. kan du komme med et kort eksempel. Er ikke helt med på hvad du mener.
Avatar billede eagleeye Praktikant
12. februar 2004 - 22:25 #3
Ja nå så er eksperten oppe igen :)

Et eksempel:

<select class="vs" name="customer_employee_id" size="15" multiple>
<option value="1">Kunde 1</option><option value="2">Kunde 2</option>
<option value="3">Kunde 3</option><option value="4">Kunde 4</option>
<option value="5">Kunde 5</option><option value="6">Kunde 6</option>
</select>

Vælger man kunde 1, 3, 4, 6 i select menuen.

På den side som modtager formen henter man med data med Request.Form og den giver value på de valgte ting. Når det en select med flere valgte får man en liste med values.

ce_id = Request.Form("customer_employee_id")

ce_id vil så indeholder "1, 3, 4, 6"

Det kan man så spiltet hvis man ønsker det
arr = Split(ce_id, ",")
Avatar billede monstermand Nybegynder
13. februar 2004 - 09:04 #4
Tror begynder at være med nu, men jeg er stadig i tvivl om hvordan jeg indsætter data i sql databasen. Alle valg skal indsættes som en ny række i en tabel (MySql).

Jeg er med sålangt som at ce_id = "1,3,4,6", men hvordan bruger jeg split'en? Og indsætter ud fra den?
Avatar billede eagleeye Praktikant
13. februar 2004 - 09:16 #5
Så laver man et loop som indsætte en post for hver, Conn skal være et connection object til databasen:

ce_id = Request.Form("customer_employee_id")
arr = Split(ce_id, ",")
for i = lbound(arr) to ubound(arr)
  SQL = "insert into tabelnavn (kunder_id) values ('" & arr(i) & "')"
  'udfør sqlen
  Conn.Execute(SQL)
next
Avatar billede monstermand Nybegynder
13. februar 2004 - 09:23 #6
Perfekt mand! Stik mig et svar! Hvad er det Ibound og ubound betyder? Er det noget med fra start til slut?
Avatar billede sth Novice
13. februar 2004 - 14:49 #7
jeg bruger denne:
For Each Groupx In Request.Form("select1")
        SQL_ind = "INSERT INTO user_groups_sub (id_user,main_id)"
        SQL_ind = SQL_ind & " VALUES (" & Groupx & "," & Request.QueryString("main_id") & ")"
        Conn.Execute (SQL_ind)
Next

du skal selvf. lige rette så det passer til dine felter
Avatar billede eagleeye Praktikant
13. februar 2004 - 16:14 #8
ok :)

lbound(array) giver den mindste index i array'et det vil så i princippet altid være 0
ubound(array) giver det største index i array'et så hvis der er 5 celler i array giver ubound 4 da den føste celle indexseren på plads 0, håber det svar nok?
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