Toon posts:

[ASP] meerder zoek velden in een searchform

Pagina: 1
Acties:

Verwijderd

Topicstarter
Nu ik bezig ben met een zoek formulier in asp wil ik dat deze zoekt in een database, en dat je verschillende velden kan intypen om de specifieke waarden op te halen. Maar dit is niet alles...
Het is n.l. ook de bedoeling dat een veld niet per se ingevuld hoeft te worden.
Nu ik hiermee aan het klooien ben in Frontpage wil dit niet lukken. Zelf denk ik dat dit aan de And/Or ligt, maar duidelijke verschillen kan ik niet merken. Kortom hij werkt nie

  • Sjnirk
  • Registratie: Maart 2001
  • Laatst online: 27-03-2025

Sjnirk

Hie vrieve

Beetje duidelijker of een beetje code laten zien zou wel eens kunnen helpen tot een oplossing hier :P

Bikkelen gebeurt pas na 2:00


Verwijderd

Ik denk dat je dit wilt:
Je hebt een zoekscherm. Je kan bijvoorbeeld zoeken op 3 criteria. Naam, Adres, Postcode. (ik noem maar wat)
Als iemand alleen naam invult zoek je alleen op naam. Als iemand naam en adres intypt wil je dat ie op die 2 zoekt maar als iemand alleen adres intypt weer alleen op adres zoeken. Ik ben niet zo'n ASP met goeroe, maar wat je zou kunnen doen is kijken welke velden zijn gevuld en aan de hand daarvan je query opbouwen. Dus iets in deze richting
code:
1
2
3
IF len(naam) > 0 THEN
strSQL = "SELECT * FROM blaat WHERE name LIKE '%" & naam & "%'"
END IF

Enz....

Tis een beetje omslachtig alleen zo.....

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
ik doe het voor meerder zoekvelden meestal zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    'het eerste sq gedeelte is standaard en geldt voor elke zoekopdracht.
    SQL_SELECT = "SELECT projectID, plaats, projectnaam, systeemID, startdatum"
    SQL_FROM   = " FROM project"
    SQL_WHERE  = " WHERE (not projectverwijderd AND projectnaam LIKE '%" & strProjectnaam & "%'"
    SQL_ORDERBY= ") ORDER BY plaats ASC"

    'als er zoektermen zijn opgegeven die niet in de tabel PROJECT voorkomen, dient de SQL
    'query te worden aangepast.

    'als er op projectplaats wordt gezocht
    if not(strPlaats = "") then
     SQL_WHERE = SQL_WHERE & " AND plaats LIKE '" & strPlaats & "%'"
    end if

    'als er op systeem wordt gezocht
    if not(strSysteem = "") then
     SQL_WHERE  = SQL_WHERE & "AND systeemID LIKE '" & strSysteem & "%'"
    end if

    'als er op startdatum wordt gezocht
    if not(strStartdatum = "") then
     SQL_WHERE  = SQL_WHERE & "AND startdatum LIKE #" & strStartdatum & "#"
    end if

   'open een recordset die aan deze voorwaarden voldoet
    SQL=SQL_SELECT & SQL_FROM & SQL_WHERE & SQL_ORDERBY

    RS.Open SQL, Conn, 2, 2

chaozz.nl | RetroGameCouch


  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 09-09 12:10

Basszje

Reisvaap!]

Als je trouwens alle velden variabel wilt maken krijg je problemen met de vraag of er na de where als een expressie staat. Dan kan je n.l. niet altijd klakkeloos "AND bla bla" gebruiken.

Ik doe het dan meestal zo :
code:
1
2
3
4
5
sql = "SELECT bla from tbl_zoek where 1=1" 

if not naam = "" then
sql = sql & " AND naam like %'" & naam & "'%"
end if .

Ongeveer dus. Het gaat om het idee ;)

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
Op woensdag 24 april 2002 12:04 schreef Basszje het volgende:
Als je trouwens alle velden variabel wilt maken krijg je problemen met de vraag of er na de where als een expressie staat. Dan kan je n.l. niet altijd klakkeloos "AND bla bla" gebruiken.

Ik doe het dan meestal zo :
code:
1
2
3
4
5
sql = "SELECT bla from tbl_zoek where 1=1" 

if not naam = "" then
sql = sql & " AND naam like %'" & naam & "'%"
end if .

Ongeveer dus. Het gaat om het idee ;)
ik doe hierboven precies hetzelfde. een standaard query en dan afhankelijk van de ingevulde zoektermen aanvullen... :Z

chaozz.nl | RetroGameCouch


  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 09-09 12:10

Basszje

Reisvaap!]

Op woensdag 24 april 2002 14:40 schreef chaozz het volgende:

[..]

ik doe hierboven precies hetzelfde. een standaard query en dan afhankelijk van de ingevulde zoektermen aanvullen... :Z
Jaha maar ter aanvullig was dat dus voor als je geen projectnaam zoekdinges wil gebruiken of deze ook optioneel maken :z

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
maar in het uitzonderlijke geval dat 1 toch 2 is, gaat jou script niet op :P :P :P

chaozz.nl | RetroGameCouch

Pagina: 1