[ASP] multiple selectboxen

Pagina: 1
Acties:
  • 64 views sinds 30-01-2008

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
hallo, ik ben bezig met een pagina, waarop een form staat waarin 4 selectboxen staan. Het gaat om een zoeksysteem, een advanced search.

het form werkt perfect, alleen er moet ook een mogelijkheid zijn om meerdere items per selectbox te selecteren, het selecteren lukt wel met een array, alleen hoe lees je die data uit de array uit en hoe kun je hiermee gaan werken in de SQL query?

  • GlowMouse
  • Registratie: November 2002
  • Niet online
In HTML ziet het er bijvoorbeeld zo uit:


code:
1
2
3
4
5
<select name="db_select[]" size="6" multiple="multiple">
                <option value="admin">admin</option>
                <option value="vpopmail">vpopmail</option>
                <option value="mysql">mysql</option>
</select>

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
ja de HTML lukt me wel, maar in de query? ik krijg nu in de statusbalk 2 keer de voorwaarde waarmee ik wil zoeken. hoe kan je bijvoorbeeld die array uitlezen en daar dan weer een werkbare string van maken??

  • GlowMouse
  • Registratie: November 2002
  • Niet online
osnatool schreef op 28 januari 2004 @ 20:00:
ja de HTML lukt me wel, maar in de query? ik krijg nu in de statusbalk 2 keer de voorwaarde waarmee ik wil zoeken. hoe kan je bijvoorbeeld die array uitlezen en daar dan weer een werkbare string van maken??
code:
1
SELECT rij1,rij2,rij3 FROM tabel WHERE rij5='dit' AND rij6='dat' AND rij7='en dit' AND rij8 LIKE '%hoppa%'

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
is er geen andere manier mogelijk?? ik ben niet van plan om zo'n grote query te gaan bouwen, want in een van die selectboxen staan zo en zo 200 van items, dus dat is niet echt nuttigjes.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:01

TeeDee

CQB 241

ASP:
1
2
3
for each item in request.form("db_select")
response.write item 'ofzo, of iets anders :)
next

En nog verder wat rommelen?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Folkert
  • Registratie: September 2001
  • Laatst online: 27-05 19:26
volgens mij moet je het maken in SQL met het commando 'IN'. Maar dat weet ik niet helemaal zeker... heb geloof ik ooit iets gemaakt met meerdere select boxen. Toen heb ik geloof ik IN gebruikt....zal nog ff zoeken

hierzo:
http://www.w3schools.com/sql/sql_in.asp

[ Voor 14% gewijzigd door Folkert op 28-01-2004 20:45 ]


  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
ja okee dit is voor meerdere boxjes, maar wat als ik nu in 1 selectbox 2 waarden aanklik, en dan op search druk? dan komt bijvoorbeeld countryid=2 en countryid=3 in mijn adresbalk, en hoe lees je dat uit?

  • Folkert
  • Registratie: September 2001
  • Laatst online: 27-05 19:26
Je krijgt toch gewoon de string te zien als je een request.querystring maakt?????

<%=Request.querystring("countryid")%>

heeft dan toch al als resultaat 1,2,3,4etc...

[ Voor 23% gewijzigd door Folkert op 28-01-2004 20:56 ]


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Voor zover ik weet moet je de naam van je selectname eindigen met "[]", zoals ik ook in mijn voorbeeld deed. In PHP heb je dan bijvoorbeeld db_select[0], db_select[1] etc.

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
als ik dit [] achter de select zet kan je dus meerdere items selecteren, en ik kan dan niet met een Request.QueryString de string uitlezen, moet dat op een andere manier?

  • Folkert
  • Registratie: September 2001
  • Laatst online: 27-05 19:26
ok...

pagina 1
ASP:
1
2
3
4
5
<html>
<body>
<a href="result.asp?id=1&id=2&id=3&id=4&id=5&id=6&id=7&id=8">linkje</a>
</body>
</html>


pagina 2
ASP:
1
2
3
4
5
<html>
<body>
<%=request.QueryString("ID")%>
</body>
</html>


resultaat is een mooie string: 1,2,3,4,5,6,7

Deze kan je dan mooi verwerken in de Query
SQL:
1
2
SELECT column_name FROM table_name
WHERE column_name IN (1,2,3,4,5,6,7)

  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
dat is toch helemaal de vraag niet, ik wil een selectbox op mijn pagina hebben waar je meedere items uit kunt selecteren, heb je dit gedaan, dan moet er worden gezocht. en het probleem zit er dus in dat ik niet die array van die selectbox uit dat form kan lezen, ik weet niet of daar een bepaalde methode voor is ofzo. maar wat folkert net post, is natuurlijk logisch, dat kan ik ook nog wel verzinnen.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
HTML:
1
2
3
<select multiple="multiple" size="10">
<option value="dit">is basic html</option>
</select>

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • osnatool
  • Registratie: Mei 2003
  • Laatst online: 17-10-2014
ja oke dat heb ik al lang, maar ik wil dus weten "hoe je de data die er wordt doorgestuurd kan worden geformat ofzo, hoe kan ik dit gaan uitlezen en gebruiken in een query"??? dat is de vraag, niet hoe je een HTML selectform maakt.

  • Folkert
  • Registratie: September 2001
  • Laatst online: 27-05 19:26
hm ik had gedacht dat je de link wel zou kunnen maken.... :X

HTML:
1
2
3
4
5
6
7
8
9
10
<form name="form1" method="get" action="result.asp">
<select name="select" size="5" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="submit" name="Submit" value="Submit">
</form>


en op de result.asp

HTML:
1
2
3
4
5
<html>
<body>
<%=request.Querystring("select")%>
</body>
</html>


En dat is idd standaard html!!!

Of je stopt het in een post en dan wordt het uiteraard request.form

[ Voor 66% gewijzigd door Folkert op 28-01-2004 22:25 ]


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Osnatool heb jij je vorige topic uberhaupt wel gelezen? :/
DeverauX schreef op 26 januari 2004 @ 16:46:
Je wilt dus gewoon verschillende velden laten doorzoeken en voorwaarden stellen aan welke velden worden doorzocht :?
De keuzes die gebruikers in de keuzelijst (dat van die link die je gaf) kunnen maken kun je in je query gebruiken door gebruik te maken van het sql-statement IN ()
Je krijgt dan zoiets als:
SQL:
1
2
3
SELECT * FROM tabel 
WHERE veld IN ('" & keuzes_keuzelijst & "') AND 
MATCH (keywords) AGAINST ('" & search_query & "')

...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


  • Folkert
  • Registratie: September 2001
  • Laatst online: 27-05 19:26
I rest my case

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Ik denk dat je nu wel genoeg hulp gekregen hebt. Het staat sowieso wel een beetje vreemd dat je een behulpzame reactie afdoet als 'dat vraag ik niet' om vervolgens in je eerstvolgende posting exact datgene te vragen wqaarop antwoord wordt gegeven. Als het nu nog duidelijker voorgedaan wordt dan is het meer een script request.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.