[ASP/SQL] query opbouwen uit multiple formulier

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Andre1234
  • Registratie: November 2009
  • Laatst online: 01-01-2022
Goededag,
Het begin heb ik, het einde ook alleen de tussenstap kom ik niet uit.
Ik wil de zoekpagina uitbreiden van een intranet, door de gebruikers een mogelijkheid te geven beplaade rubrieken te selecteren en daar een zoekterm op los te laten. Deze zoekterm zal dan alleen in posten van deze geselecteerde rubrieken gevonden worden.
Het formulier is als volgt:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<Form action="FindadvTopicsResult.asp" METHOD="POST">
<%
Response.write "<input type='hidden' name='AfdelingsId' value="&AfdelingsID&">"
Response.Write "<SELECT NAME='Rubriek' multiple='multiple' size="&NumberOfCounts&">"

%>
<%Do Until objRsShowRubrieken.EOF%>
<%Response.Write "<OPTION>"%>
<%Response.Write (objRsShowRubrieken("rubrieken"))%>
<%Response.Write"</OPTION>"%>
<%Response.Write "<br>"%>
<%objRsShowRubrieken.MoveNext
Loop

%></SELECT>
<input type="text" name="zoekterm" size="15">
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Zoek" STYLE="color: #000000; background: #FFFFFF; font-weight: bold; width: 60px; height: 25px;"></form>
<%


Het resutaat haal je op:
ASP:
1
2
Rubrieken = Request.Form("rubriek")
Zoekterm = Request.Form("zoekterm")


De inhoud van rubrieken zal bijvoorbeeld zijn:
rubriek1, rubriek2,

De zoekquery zal er uiteindelijk zo uit moeten zien:
SQL:
1
2
3
4
5
6
SELECT     *
FROM         dbo.Posten
WHERE     (Onderwerp LIKE '%zoekterm%') AND (Rubriek = 'rubriek1') OR
                      (Rubriek = 'rubriek1') AND (Post LIKE '%zoekterm%') OR
                      (Onderwerp LIKE '%zoekterm%') AND (Rubriek = 'rubriek2') OR
                      (Rubriek = 'rubriek2') AND (Post LIKE '%zoekterm%')


Ik krijg de stap van de inhoud van het formulier naar de opbouw van de queury niet voorelkaar.
Hoe weet ik bijvoorbeeld hoeveel rubrieken er zijn geselecteerd, en hoe bouw ik de query op afhankelijk van de geselecteerde rubrieken.

Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Je kunt dit redelijk eenvoudig zelf uitzoeken. Google bijvoorbeeld eens op 'asp', 'select', 'multiple' en je krijgt gelijk relevante resultaten.
Ook vermoed ik dat je nog redelijk aan het begin van je carriere als ASP programmeur staat (anders had je wel een andere technologie gekozen), dus pak er gewoon eens een boek bij. Een boek van bijvoorbeeld wrox (Beginning Active Server Pages 3.0 of de professionele variant) en gelijksoortige werken kunnen je aan de basiskennis helpen die je nodig hebt.