[ASP] checkboxen met verschillend ID opvragen

Pagina: 1
Acties:

  • Elect
  • Registratie: Mei 2000
  • Niet online
Sorry voor de simpel klinkende topictitel, maar m'n vraag is naar mijn idee iets lastiger.

Ik heb een lijst met hardware die gegenereerd d.m.v. een recordset uit een ACCESS database, en dan in een loop gezet wordt.
Nu is het zo dat daar een checkbox naaststaat die men kan aanvinken zodat je kunt selecteren (en om uiteindelijk uit te printen). Ik heb de checkbox zo opgemaakt:

code:
1
2
3
<input type="checkbox" 
name="print=<%=rs.fields("unicode")%>"
value="ON">


Als men er een aantal geselecteerd heeft en op submit heeft geklikt kom je op een andere pagina waarom uiteindelijk meerdere hardware gegevens op zullen staan, alle hardware die geselecteerd is dus.

Alleen op die pagina zit ik vast, want ik heb geen idee hoe ik de checkboxes kan uitlezen nu deze een 'losse' waarde hebben.
Ik zat zelf aan iets te denken als:

code:
1
id = Request.Form("print=&  &")


Alleen dat er tussen de & & een ASP opdracht staat die de willekeurige waarden ophaalt. Iemand die een ideetje heeft?

[ Voor 7% gewijzigd door Elect op 31-10-2003 09:00 ]

HelmChat.eu - Free Motorcycle Group Chats


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Ik weet niet of dit helpt Maar wat je kan doen, is alle checkboxen dezelfde ID te geven, maar een andere value.. (een ID van een hardware apparaat ofzo) Als je dat doet wordt het een stuk makkelijker...

Doe dan eens een response.write request.form("HetzelfdeIDvanAllecheckboxen")

Maar alleen als je een ID mee kan geven anders werkt het niet..

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Bloed, zweet & koffie


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Je kan gewoon je hele form-collectie doorlopen, en zodoende alle waardes ophalen ;)
ASP:
1
2
3
4
5
For x = 1 To Request.Form.Count
If instr(1,Request.Form.Key(x),"FORM_NAAM") > 0 Then
waarde = Request.Form(x)
End If
Next

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

DeverauX schreef op 31 oktober 2003 @ 09:29:
Je kan gewoon je hele form-collectie doorlopen, en zodoende alle waardes ophalen ;)
ASP:
1
2
3
4
5
For x = 1 To Request.Form.Count
If instr(1,Request.Form.Key(x),"FORM_NAAM") > 0 Then
waarde = Request.Form(x)
End If
Next
En dan moet je daartussen ergens kijken of ie checked is..

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 08:11
ik heb ook iets dergelijks in mijn website admin: je vinkt een selectie van news postings aan en klikt op delete.

Dmv een JavaScript wordt dit opgeslagen in CSV formaat (1,5,10 dit zijn de id's van de geselecteerde news items) en gepost middels een Hidden field.

In de verwerk pagina kun je dit hidden field uitlezen en middels een ASP functie in een array zetten. Dan heb je dus een mooi array van alle hardware items die je dient af te drukken..

ik heb hier geen code bij de hand, maar als je geinteresseerd bent, kan ik deze vanavond wel even posten.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Dmv een JavaScript wordt dit opgeslagen in CSV formaat (1,5,10 dit zijn de id's van de geselecteerde news items) en gepost middels een Hidden field.
Als je de verschillende form-elementen dezelfde name geeft, worden de waarden automatisch comma seperated gepost, en lijkt me deze js-functie dus overbodig :?

Daarnaast is het, in het geval je de waarden gebruikt om een query op te bouwen, ook mogelijk gebruik te maken van het sql-statement IN(), aangezien deze csv's accepteerd. ;)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 08:11
dat is interessant!

extra zo'n functie gemaakt voor verzenden, en daarna ook weer deze csv uit elkaar getrokken naar een array

en daarna een for next loop met sql where statement...

kan dus veel korter... ga ik in mijn nieuwe versie van mijn Admin aanpassen...
bedankt, weer wat geleerd!

  • Elect
  • Registratie: Mei 2000
  • Niet online
Genoeg reacties in ieder geval :)
Het is me gelukt via

code:
1
2
id = Request.Form("print")
Response.Write id


Waarbij ik gewoon alle aangevinkte waarde krijg met een komma erachter. Tot zover prima.
Alleen nu zouden deze waarde uit een database gehaald moeten worden. Ik had verwacht dat met een simpele SQL query alles naar me toe zou rollen, maar dit is schijnbaar niet ondersteund? De SQL code die ik in gedachte had was:

code:
1
sql = "SELECT * FROM IS_PCregistratie_Computers WHERE Unicode="& id &""


In ieder geval, hij gaf het door maar slikken deed hij niet. Ook niet als je Unicode=.. AND Unicode=... deed. Op de puntjes had ik vaste waarden invult, dan wist ik zeker dat het niet daar aan lag.

Maar nu krijg ik met geen mogelijkheid al die waarden uit m'n database. Zou het mogelijk zijn met een array?

[update]
Trekker22, is het mogelijk die loop code eens in te zien voor jouw SQL query? Waarschijnlijk kan ik die ook gebruiken.

[ Voor 14% gewijzigd door Elect op 31-10-2003 11:13 . Reden: vraagje aan trekker22 ]

HelmChat.eu - Free Motorcycle Group Chats


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Misschien moet je eerst een spit doen, en daarna alle waardes uit de database halen..

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Ik had verwacht dat met een simpele SQL query alles naar me toe zou rollen, maar dit is schijnbaar niet ondersteund?
Daarnaast is het, in het geval je de waarden gebruikt om een query op te bouwen, ook mogelijk gebruik te maken van het sql-statement IN(), aangezien deze csv's accepteerd.
Even lezen dus B) :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
je kunt ook specifiek die checkboxes uitlezen ipv de hele form collectie door te lopen.

ASP:
1
2
3
For iTeller = 1 To Request.Form("checkboxname").Count
    checkbox_id = Request("checkboxname")(iTeller)
Next


als alle checkboxes dezelfe naam hebben dan.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1