Avatar billede emingos Nybegynder
11. juli 2002 - 21:29 Der er 6 kommentarer og
2 løsninger

søg flere felter i database

hejsa
jeg har en søge funtion på min hjemmeside der søger i 
en database
men lige nu kan den kun søge i et felt.. fks

news
- forfatter
- topic
- nyhed

er der en måde så jeg kan få den til at søge i flere felter
da jeg både har artikler og guides..

og det er jo ik så fedt at have 3 søge maskiner :)

jeg har simpelthen ik ku finde noget info om det.. så håber der er et klogt hoved der kan hjælpe
Avatar billede ztyxx Nybegynder
11. juli 2002 - 21:35 #1
select * from tabel where forfatter like søgeord or topic like søgeord or nyhed like søgeord
Avatar billede hells Nybegynder
11. juli 2002 - 21:36 #2
Det er vel sådan noget sql, der skal til:
forfatter = Request.Form("forfatter")
topic = Request.Form("topic")
nyhed = Request.Form("nyhed")
strSQL = "Select * from tabelnavn Where forfatter like '%" & forfatter & "%' OR topic like '%" & topic & "%' OR nyhed = '%" & nyhed & "%'"
Avatar billede dk_akj Nybegynder
11. juli 2002 - 23:17 #3
Husk at bruge "%" som wildcard når du bruger like operatoren, altså ligesom hells gør.

Hvis det er en meget stor tabel kan du med fordel bruge union.
Select * from tabelnavn where x like "%sgeord_x%" union
Select * from tabelnavn where y like "%sgeord_y%" union
Select * from tabelnavn where z like "%sgeord_z%"

Men det er kun hvis du har mange records i din tabel det er en fordel, har du ikke det er hells løsning den bedste.

//akj

//akj
Avatar billede ztyxx Nybegynder
12. juli 2002 - 00:18 #4
arrgh, ja jeg glemte % i min query, sorry
Avatar billede emingos Nybegynder
12. juli 2002 - 02:38 #5
takker for svar det virkede :)
Avatar billede ztyxx Nybegynder
12. juli 2002 - 03:07 #6
takker for point :-)
Avatar billede emingos Nybegynder
13. juli 2002 - 19:59 #7
kan man søge i flere tabeller ??
Avatar billede dk_akj Nybegynder
15. juli 2002 - 20:06 #8
Ja, det kan du godt men så bør du lave flere select statements.

sql = "Select * from tabel1 where xyz like %sgeord%"
set rs = conn.execute(sql)
response.write "Hits i tabel 1"
do while not rs.eof
' udskriv resultatsæt fra tabel 1
loop

sql = "Select * from tabel2 where xyz like %sgeord%"
set rs = conn.execute(sql)
response.write "Hits i tabel 2"
do while not rs.eof
' udskriv resultatsæt fra tabel 2
loop

//akj
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