Avatar billede kennethlassen Nybegynder
04. april 2001 - 00:54 Der er 16 kommentarer og
1 løsning

Simpel søgemekanisme

Jeg har i tidernes morgen lavet mig en søgemaskine i JS.
Fungerer fint men man skal \"slaveindtaste\" alle html-filernes navne i en streng, hvilket jo ikke er særlig smart...
Derfor efterlyser jeg et script i ASP, der er i stand til at finde et html-dokument ud fra enten hele navnet på dette eller dele af det. Er der flere valgmuligheder skal der kunne vælges mellem dem i eksempelvis en dropdownbox.
Alle dokumenterne vil ligge i det samme biblotek, så den behøver ikke søge på tværs af biblotekerne.
Nogen der ligger inde med et sådant script, da jeg er nybegynder i ASP?
Avatar billede netsrac Praktikant
04. april 2001 - 01:00 #1
Her er lidt der kan bygges på:

    search = request.querystring(\"search\")
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set dir = fso.GetFolder(server.mappath(\".\"))

    Set foldercollection = dir.Files
    For Each file in foldercollection
   
    if instr(file.name, search) then
    response.write(file.name)
    end if
    next
Avatar billede bacardil Nybegynder
04. april 2001 - 01:01 #2
Ved ikke lige hvad det er for et du tænker på, men her er et:

http://www.netcoders.dk/sources.asp?mode=view_source&id=905

Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:03 #3
Og hvad skulle der bygges på?
Tænker du på tekstboks og den slags?
Avatar billede netsrac Praktikant
04. april 2001 - 01:04 #4
Det skal lægges i en asp fil i biblioteket hvor de andre filer ligger. Så kalder du f.eks. siden med search.asp?search=fil

hvor fil er søgeordet.
Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:05 #5
Jeg har brug for en komplet ASP-kode, da det ikke lige er min stærke side.
HTML-kodningen kan jeg selv klare.
Avatar billede netsrac Praktikant
04. april 2001 - 01:06 #6
Den jeg har skrevet er en komplet asp kode, prøv den.
Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:06 #7
Skal jeg kalde navngive selve siden som \"search.asp?search=fil\" eller...?
Avatar billede netsrac Praktikant
04. april 2001 - 01:07 #8
En lille udvidelse.

<%
search = request.querystring(\"search\")
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set dir = fso.GetFolder(server.mappath(\".\"))

    Set foldercollection = dir.Files
    For Each file in foldercollection
   
    if instr(file.name, search) then %>
<A HREF=\"<%=file.name%>\"><%=file.name%></A>
<%    end if
    next %>
Avatar billede netsrac Praktikant
04. april 2001 - 01:08 #9
Siden skal bare hedde search.asp

Når du kalder den op i browseren sætter du ?search=sogeord på.
Avatar billede netsrac Praktikant
04. april 2001 - 01:09 #10
<%
search = request.querystring(\"search\")
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set dir = fso.GetFolder(server.mappath(\".\"))

    Set foldercollection = dir.Files
    For Each file in foldercollection
   
    if instr(file.name, search) then %>
<A HREF=\"<%=file.name%>\"><%=file.name%></A>
<%    end if
    next
set foldercollection = nothing
set fso = nothing
set dir = nothing
%>
Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:10 #11
Og det script er også med tekstboks og det hele?
Og hvad hvis der er flere valgmuligheder?
Avatar billede netsrac Praktikant
04. april 2001 - 01:11 #12
Det sidste jeg har skrevet udskriver links til alle filer hvor hele eller dele af søgeordet indgår.
Avatar billede netsrac Praktikant
04. april 2001 - 01:13 #13
Med tekstboks:

<HTML>
<BODY>
<%
if request.querystring(\"action\") = \"go\" then
search = request.querystring(\"search\")
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set dir = fso.GetFolder(server.mappath(\".\"))

    Set foldercollection = dir.Files
    For Each file in foldercollection
   
    if instr(file.name, search) then %>
<A HREF=\"<%=file.name%>\"><%=file.name%></A>
<%    end if
    next
set foldercollection = nothing
set fso = nothing
set dir = nothing
else
%>
<FORM ACTION=\"search.asp\" METHOD=\"GET\">
<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"go\">
<INPUT TYPE=\"text\" NAME=\"search\">
<INPUT TYPE=\"submit\" VALUE=\"Sog\">
</FORM>
<%end if%>
</BODY>
</HTML>
Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:14 #14
Det prøver jeg men hvad siger du, der skal stå der hvor du har skrevet sogeord. Er sogeord navnet på indtastningen?
Jeg gemmer filen under search.asp og når jeg kalder den fra min menu sætter jeg den til at kalde \"search.asp?=sogeord\" ik?
Avatar billede netsrac Praktikant
04. april 2001 - 01:16 #15
Bare brug den sidste jeg har lagt. Så kalder du den bare med search.asp også er det hele på plads :-)
Avatar billede kennethlassen Nybegynder
04. april 2001 - 01:17 #16
Det lyder sq godt!
Jeg undrede mig bare istarten lidt over, at scriptet ikke fyldte mere - mit JS fylder jo over 2 sider :-)

Tak for hjælpen!!! :-)
Avatar billede netsrac Praktikant
04. april 2001 - 01:18 #17
Så lidt :-)
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