Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:21 Der er 44 kommentarer og
2 løsninger

videresende et array

hvordan kan jeg lave et array hvor der kommer en post åp hver gang man sætter et kryds i en afkrydsningsboks?

do while...

<input type=\"checkbox\" name\"arrayID\" value=\"<% response.write rs(\"ID\") %>\">

rs.movenext
loop
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:35 #1
forstår i mit spørgsmål?
Avatar billede jgp Nybegynder
20. september 2001 - 14:37 #2
Vil du lave et array ud fra en form, hvor der er et bestemt antal afkrydsningsbokse?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:41 #3
ja et array hvor de idnumre der bliver krydset af bliver gemt! Herefter kan arrayet vidersendes og splittes op igen så jeg kan indføre det i min db!
Avatar billede jgp Nybegynder
20. september 2001 - 14:46 #4
Dim array
Do until rs.eof Or rs.bof
  If request.form(rs(\"id\")) Then
    array = array + rs(\"id\") & \",\"
  End If
Loop
array = left(array, len(array)-1)

Kunne man vil bruge..
Avatar billede jgp Nybegynder
20. september 2001 - 14:47 #5
Skfit sidste linie ud med

If array <> \"\" Then
  array = left(array, len(array)-1)
End If
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:49 #6
Det er jeg ikke helt med på! Det skal jo ikk være alle rs(\"id\") der bliver lagt ind i arrayet - kun dem der bliver selected!
Avatar billede jgp Nybegynder
20. september 2001 - 14:50 #7
Så brug:
If request.form(rs(\"id\")) = \"on\" Then
Blabla
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:50 #8
If request.form(rs(\"id\")) HVAD then?
Avatar billede jgp Nybegynder
20. september 2001 - 14:53 #9
  Dim array
Do until rs.eof Or rs.bof
  \'Tjekker om afkrydsboksen er on, alså checked
  If request.form(rs(\"id\")) = \"on\"Then
    array = array + rs(\"id\") & \",\"
  End If
Loop
If array <> \"\" Then
  array = left(array, len(array)-1)
End If


Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:54 #10
hvor vil du skrive denne kode ? i value=\"<% %>\" eller lige efter, eller?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 14:56 #11
dim array

If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF

%>
<input type=\"checkbox\" name\"array\" value=\"<% response.write rs(\"ID\") %>\"><a href=\"findmaalgruppemodtag.asp?kob=<%= rs(\"kob\") %>\" target=\"indholdbund\"><%= rs(\"Virksomhedsnavn\") %></a><br />
<%
Do until rs.eof Or rs.bof
  If request.form(rs(\"id\")) = \"on\" Then
    array = array + rs(\"id\") & \",\"
  End If
Loop
If array <> \"\" Then
  array = left(array, len(array)-1)
End If


rs.movenext
  Loop
Avatar billede jgp Nybegynder
20. september 2001 - 14:59 #12
Nej koden skal skrives på den side du submitter formen til.
Den kode jeg ahr skrevet skal bruges til at fange, hvilket bokse der er afkryset. Ikke udskrive afkrysningboksene

Brug denne til at udskrive dine bokse med:

<% Do until rs.eof Or rs.bof %>
<input type=\"checkbox\" name=\"arrayID\" value=\"<%=rs(\"ID\")%>\">
  <% rs.movenext
loop %>
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:03 #13
Ja, men mit problem ligger jo ligesom i at få sendt array fra den side som jeg har beskrevt - det er det der er spørgsmålet! Som det er lige nu kan jeg jo kun sende en af gangen!
Avatar billede jgp Nybegynder
20. september 2001 - 15:05 #14
Wups, en smutter! Sådan her
<% Do until rs.eof Or rs.bof %>
<input type=\"checkbox\" name=\"<%=rs(\"ID\")%>\">
  <% rs.movenext
loop %>
Avatar billede jgp Nybegynder
20. september 2001 - 15:07 #15
Jeg tror fejlen lå i at du brugte det samme name i alle boksene. For scriptet ser det ud som om der kun er en boks.
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:11 #16
godt så langt så godt, men nu giver den mig fejl på modtagersiden! foreløbig har jeg skrevet:
dim array
Do until (rs.eof Or rs.bof)
  If request.form(rs(\"id\")) = \"on\" Then
    array = array + rs(\"id\") & \",\"
  End If
Loop
If array <> \"\" Then
  array = left(array, len(array)-1)
End If
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:12 #17
den skriver at \" er obligatorisk i nummer to linie!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:12 #18
undskyld: et objekt er obligatorisk: \"
Avatar billede jgp Nybegynder
20. september 2001 - 15:13 #19
Og linie 2 er :
Do until (rs.eof Or rs.bof)
Eller?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:13 #20
jep!
Avatar billede jgp Nybegynder
20. september 2001 - 15:16 #21
det lyder som om den får request.form(rs(\"id\"))  galt i halsen:
prøv at ændre navnet på boksene til
name=\"test<%=rs(\"ID\")%>\"
Og
request.form(\"test\"&rs(\"id\"))
Avatar billede jgp Nybegynder
20. september 2001 - 15:17 #22
hmm er du sikker på at rs, er defineret på modtager siden?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:17 #23
er det ikke fordi at den ikke aner hvad rs(\"id\") er på modtagersiden?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:17 #24
:) okay!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:18 #25
hvordan gør jeg det?
Avatar billede jgp Nybegynder
20. september 2001 - 15:20 #26
Den måde du difinere rs på, på afsender siden, samme måde gør du det på modtager siden.

Husk at hvis ID er skrevet med STORT i databasen, skal du også bruge STORE bogstaver når du kalder den = rs(\"ID\")
Så vidt jeg husker er det case sensativ
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:26 #27
der må vist være en lidt bedre måde - dette virker lidt mystisk!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:34 #28
den skriver Et matrixindeks ligger uden for det gyldige område.
Avatar billede jgp Nybegynder
20. september 2001 - 15:36 #29
Må jeg se den linie fejlen opstår i?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:37 #30
  If request.form(rs(\"id\")) = \"on\" Then
Avatar billede jgp Nybegynder
20. september 2001 - 15:44 #31
Det lyder som problemer med RS igen..

Prøv førden linie at lave en:
response.write rs(\"ID\")
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:47 #32
det ser sådan ud nu, og jeg prøver lige at udskrive værdien!

virksomhed = session(\"virksomhed\")
strSQL = \"Select * From Stamfil where Virksomhedsnavn Like \'%\" & virksomhed & \"%\'\"
\' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

dim array
Do until rs.eof or rs.bof
  If request.form(rs(\"id\")) = \"on\" Then
strSQL = \"Insert into maalgruppetilmeld (\"

strSQL = strSQL & \"IDmaalgruppe, \"
strSQL = strSQL & \"ID) \"

strSQL = strSQL & \"values( \"

strSQL = strSQL & \"\'\" & Request.Form(\"IDmaalgruppe\") & \"\'\"
strSQL = strSQL & \"\'\" & Request.Form(rs(\"id\")) & \"\')\"

\' SQL sætning eksekveres
Conn.Execute(strSQL)
rs.movenext
end if
loop
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:52 #33
har nu fået rettet de sidste fejl, men det bliver ikke opdateret i db\'en! men ingen fejlmeddelser!

<%
virksomhed = session(\"virksomhed\")
strSQL = \"Select * From Stamfil where Virksomhedsnavn Like \'\" & virksomhed & \"\'\"

Set rs = Conn.Execute(strSQL)

dim array
Do until rs.eof or rs.bof
  If request.form(rs(\"id\")) = \"selected\" Then
strSQL = \"Insert into maalgruppetilmeld (\"

strSQL = strSQL & \"IDmaalgruppe, \"
strSQL = strSQL & \"ID) \"

strSQL = strSQL & \"values( \"

strSQL = strSQL & \"\'\" & Request.Form(\"IDmaalgruppe\") & \"\'\"
strSQL = strSQL & \"\'\" & Request.Form(rs(\"id\")) & \"\')\"

\' SQL sætning eksekveres
Conn.Execute(strSQL)
rs.movenext
end if
loop


Conn.Close
Set Conn = Nothing

%>
Avatar billede jgp Nybegynder
20. september 2001 - 15:58 #34
Hmm Det er svært at følger med i hvad du laver:
\"If request.form(rs(\"id\")) = \"selected\" Then\"
Tyder på du har lavet en dropdownbox?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:59 #35
undskyld, ddet var bare noget jeg skulle teste om det virkede - som sagt kommer der ingen fejl ud nu, men til gengæld ligger der heller ikke noget i den sidste strSQL hvis jeg udskriver!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 15:59 #36
jeg benytter \"on\"
Avatar billede jgp Nybegynder
20. september 2001 - 16:08 #37
Så kunne noget tyde på at den ikke reagere på noget i formen. Prøv efter:
If request.form(rs(\"id\")) = \"selected\" Then
at lave en
response.write \"sker her noget?\"
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 16:13 #38
ok, jeg har fundet ud af at der opstår matrixindexfejl når jeg skriver procenttegnede her - når jeg undlader dem får jeg ikke fejl!

\'%\" & virksomhed & \"%\'
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 16:15 #39
se hvad den skriver nu:
Der er en syntaksfejl i forespørgselsudtrykket \"Virksomhedsnavn Like \'%Select * From Stamfil where Virksomhedsnavn Like \'%%\'%\'\".
Avatar billede jgp Nybegynder
20. september 2001 - 16:17 #40
Uden at være klog på det område, men kan det være at variablen virksomhed er tom?
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 16:17 #41
ok, glem det sidste - det var lige en mindre fejl!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 16:18 #42
jamen det skal den jo også kunne være, fordi så tager den alle virksomhederne!
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 16:19 #43
det er stadig denne fejl der er den herskene:
Et matrixindeks ligger uden for det gyldige område.

Avatar billede jgp Nybegynder
20. september 2001 - 16:21 #44
Det må være en eller anden sql fejl... Jeg er desvære ikke den store sql ekspert :(
Avatar billede mathiasiversen Nybegynder
20. september 2001 - 17:01 #45
ØV!!! Lukker!
Avatar billede eagleeye Praktikant
20. september 2001 - 17:16 #46
Måske du har fået løsningen men jeg har en gang lavet dette med checkbokse:

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


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

\'Kør din SQL inden som han hendte Virksomhed ID som skal insættet i Checkboxen.
If Not (rs.BOF Or rs.EOF) Then
  %>
  <form method=\"post\" action=\" updater_side.asp\" name=\"hhabb\">
<% Do While Not rs.EOF
  \'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


-- updater_side.asp------

<%
\'nItem Antal checkbokse som er med [x].
nItems = Request.Form(\"KAK\").Count
if (nItems >= 1) then
  \'Henter værdien fra sidste side
  For i = 1 To nItems
    strSQL = \"UPDATE dintabel SET ditfelt=værdi WHERE ID=\"&Request.Form(\"KAK\")(i)
    myConn.Execute(strSQL)
  Next
  myConn.Close
else
  Response.Write \"Mindst en vare skal vælges\"
end if
%>
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