Avatar billede cholden Nybegynder
16. juli 2006 - 14:27 Der er 14 kommentarer og
1 løsning

Søge script

Hej eksperter
Jeg er ved at lave et lille søgescript.
Jeg har lavet en form hvor man kan søge på ID. Lige nu er det sådan at hvis man skiver "1" i søgefeltet, kommer alle der indeholder et 1-tal (1, 11, 21, 31 osv.)
Hvordan laver jeg det sådan at den KUN finder lige præcis dét jeg søger efter. F.eks hvis jeg søger efter "1" kommer KUN 1, og hvis jeg søger efter 21, kommer kun 21, og ikke 2121, 2122,2123 osv.

Kunne forstille mig det er "like" i følgende kode der skal ændres, ved bare ikke lige til hvad...
-----------KODEN-------------
SQL = "select * from produkter where id like '%" & Request.Form("id").........
-----------------------------
Avatar billede keysersoze Ekspert
16. juli 2006 - 15:33 #1
SQL = "select * from produkter where id = '" & Request.Form("id") & "'

brug af LIKE og %% giver en wildcard søgning - når du bruger = vil kun en eksakt match findes.
Avatar billede cholden Nybegynder
16. juli 2006 - 17:10 #2
Hmm, okay.. Ser meget rigtig ud.. hva er der så galt her:
    SQL = "select * from produkter where id = '" & Request.Form("id") & "' AND slegt like '%" & Request.Form("slegt") & "%'
Avatar billede nielle Nybegynder
16. juli 2006 - 17:15 #3
SQL = "select * from produkter where id = '" & Request.Form("id") & "' AND slegt like '%" & Request.Form("slegt") & "%'"

Den sidste " mangler
Avatar billede cholden Nybegynder
16. juli 2006 - 17:35 #4
Oki, hva så her?
    SQL = "select * from produkter where id = '" & Request.Form("id") & "' AND slegt like '%" & Request.Form("slegt") & "%' AND tid like '%" & Request.Form("tid") & "%' AND farve like '%" & Request.Form("farve") & "%' AND temp like '%" & Request.Form("temp") & "%' AND hojde like '%" & Request.Form("hojde") & "%'"
Avatar billede nielle Nybegynder
16. juli 2006 - 17:43 #5
Det ved jeg ikke. Hvad sker der da? Får du en fejl, eller får du bare ikke noget ud?
Avatar billede cholden Nybegynder
16. juli 2006 - 20:46 #6
Avatar billede keysersoze Ekspert
16. juli 2006 - 21:50 #7
hvilke felter er tal og hvilke er tekst/notat?
Avatar billede cholden Nybegynder
16. juli 2006 - 21:52 #8
Du sgier noget!

Alle er notat..
Avatar billede cholden Nybegynder
16. juli 2006 - 21:53 #9
Eller, ID er Autonummerering
Avatar billede keysersoze Ekspert
16. juli 2006 - 22:16 #10
SQL = "select * from produkter where id = " & Request.Form("id") & " AND slegt like '%" & Request.Form("slegt") & "%' AND tid like '%" & Request.Form("tid") & "%' AND farve like '%" & Request.Form("farve") & "%' AND temp like '%" & Request.Form("temp") & "%' AND hojde like '%" & Request.Form("hojde") & "%'"
Avatar billede cholden Nybegynder
16. juli 2006 - 22:40 #11
virker ikke
Avatar billede keysersoze Ekspert
16. juli 2006 - 22:52 #12
det virker da fint på det link du har givet - du skal bare sørge for at SQL'en først køres når der klikkes på knappen.
Avatar billede cholden Nybegynder
16. juli 2006 - 23:17 #13
Syns da ikke det virker... den skriver det her:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id = AND slegt like '%%' AND tid like '%%' AND farve like '%%' AND temp like '%%' AND hojde like '%%''.

/2/soeg.asp, line 58
Avatar billede keysersoze Ekspert
16. juli 2006 - 23:56 #14
jaja - men som sagt; du skal lave en søgning før det virker. Ovenstående kommer udelukkende fordi du ikke har sendt søgeparametrene til SQL'en.

Du skal - som også tidligere skrevet - altså checke om søgningen er sendt afsted fx sådan;

If Request.Form("id") <> "" Then
  'din sql
End If
Avatar billede keysersoze Ekspert
05. august 2006 - 14:47 #15
lukketid?
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