Avatar billede vester Novice
06. september 2001 - 09:05 Der er 9 kommentarer og
1 løsning

Søgning i flere felter

På min side er der et søgefelt, hvorfra man skal kunne søge på alle ord i databasen. Hvordan gør jeg det?
VesTer
Avatar billede nordclc Nybegynder
06. september 2001 - 09:08 #1
select * from database where felt like \'%søgeord%\'

//Claus
Avatar billede nordclc Nybegynder
06. september 2001 - 09:09 #2
Hvis du har flere felter i databasen (hmmm, glemte lige overskriften), så kan du jo udføre sætningen for hvert felt.
Avatar billede vester Novice
06. september 2001 - 09:13 #3
Man skal kunne søge i de tre felter: Navn, Overskrift og tekst
VesTer
Avatar billede nordclc Nybegynder
06. september 2001 - 09:15 #4
Når du skriver 3 felter, mener du så 3 input felter på et skærmbillede, eller 3 felter (kolonner) i en tabel?

//Claus
Avatar billede vester Novice
06. september 2001 - 09:18 #5
Jeg mener kolonner, undskyld:-)
Man skal kunne søge i de tre kolonner ud fra et \"text\"-felt
Avatar billede nordclc Nybegynder
06. september 2001 - 09:40 #6
Opret en html side med formular feltet:
---------------------------------------
<html>
<head>
<title>Formular</title>
</head>
<body>
<h1>Indtast et søgeord</h1>
<form method=\"post\" action=\"sog.asp\">
<input type=\"text\" name=\"sog\">
<input type=\"submit\">
</form>
</body>
</html>
----------------------------------------
Opret så en sog.asp side med resultatet:
----------------------------------------
<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<ul>
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/din_database.mdb\")
Conn.Open DSN

strSQL = \"Select navn, overskrift, tekst From database where (Navn like \'%\" & request.form(\"sog\") & \"%\'\"
strSQL = strSQL & \" or overskrift like \'%\" & request.form(\"sog\") & \"%\'\"
strSQL = strSQL & \" or tekst like \'%\" & request.form(\"sog\") & \"%\')\"
Set rs = Conn.Execute(strSQL)

Do
  \' Fundet her
  Response.Write rs(\"navn\") & \", \" & rs(\"overskrift\") & \", \" & rs(\"tekst\") & \"<br>\"

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
</ul>
</body>
</html>
Avatar billede nordclc Nybegynder
06. september 2001 - 09:45 #7
Du skal nok indsætte følgende foran Do:
---------------------------------------
if rs.EOF or rs.BOF then
  Response.Write \"Der er intet i databasen som matcher din søgning\"
else
-----------------------------------------
Efter Loop While....... skal du indsætte:
-----------------------------------------
End if
Avatar billede nordclc Nybegynder
06. september 2001 - 10:16 #8
Kan du få det til at virke?
Avatar billede vester Novice
06. september 2001 - 12:51 #9
Jeg har ikke lige haft tid til at tjekke det endnu, da jeg er blevet kaldt på arbejde.
Jeg tjekker det efter 15.
VesTer
Avatar billede vester Novice
06. september 2001 - 16:19 #10
Det virker fint, MEN den nøjes ikke med søgeordet. Det vil sige den udskriver alle de data der er i databasen.
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