Avatar billede ultra Nybegynder
20. maj 2001 - 13:16 Der er 11 kommentarer og
1 løsning

Fri tekst søgning

Hej,

Jeg har hentet et script fra activerserverpages.dk der hedder \"Fri tekst søgning\" (tror jeg nok) jeg har lavet lidt om på den men ikke nok til at jeg kan bruge den.

Den skal bruges til at søge efter NAVNE det kan den også nu, men jeg vil have at når man tryker på link bogstav f.eks. A skal den komme frem med alle det navne der starter med bogstav A og den må kun vise 10 stk. par side og man kan vælge hvilken køn det skal være.

Jeg har lavet DB med følge€ne felter:
ID NAVN BESKRIVELSE KØN STAMER_FRA

Her er koden:

<% Response.Buffer = True %>
<html><head>
<title>N A V N E - B A S E N</title>
</head><body>

<%
\' Uzima vrijednosti sa trazi.htm
strKeyword = Trim(Request.Form(\"Keyword\"))

If Len(strKeyword) = 0 Then
    \' Ako nista nije upisato u polju
    Response.Clear
    Response.Redirect(\"trazi.htm\")
Else
    \' ako je upisato
    strKeyword = Replace(strKeyword,\"\'\",\"\'\'\")
End If

\' Uzpostavlja jednu dynamicku SQL vezu
strSQL = \"SELECT ID, Navn, Beskrivelse, Stamer_fra, Køn FROM Imenik WHERE\"
strSQL = strSQL & \" (Navn LIKE \'\" & strKeyword & \"%\')\"
\'strSQL = strSQL & \" OR (Beskrivelse LIKE \'%\" & strKeyword & \"%\')\"

\' Povezuje DSNLess  na DBen
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"trazi.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN

\' Nemam objasnjenja
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    \' Ako nije pronadjeno nista
    Response.Write \"<font face=\'Verdana,Georgia,Times\' size=\'1\'><p>Søgende resultat</p></font>\"
    Response.Write \"<table border=\'0\' cellspacing=\'1\' style=\'border: 1 solid #000000\'>\"
    Response.Write \"<tr><th><font face=\'Verdana,Georgia,Times\' size=\'1\'>Navn</th></font><th><font face=\'Verdana,Georgia,Times\' size=\'1\'>Beskrivelse</th></tr></font>\"
    Do While Not rs.EOF
        Response.Write \"<tr><td style=\'border-right: 1 solid #000000; border-bottom-style: solid; border-bottom-width: 1\'><font face=\'Verdana,Georgia,Times\' size=\'1\'>\" & rs(\"Navn\") & \"</td></font>\"
        Response.Write \"<td style=\'border-top: 1 solid #000000\'><font face=\'Verdana,Georgia,Times\' size=\'1\'>\" & rs(\"Beskrivelse\") & \"</td></tr></font>\"
        Response.Write \"<td style=\'border-top: 1 solid #000000\'><font face=\'Verdana,Georgia,Times\' size=\'1\'>\" & rs(\"Stamer_fra\") & \"</td></tr></font>\"
        Response.Write \"<td style=\'border-top: 1 solid #000000\'><font face=\'Verdana,Georgia,Times\' size=\'1\'>\" & rs(\"Køn\") & \"</td></tr></font>\"
        rs.MoveNext
    Loop
    Response.Write \"</table>\"
Else
    \' Ako nebude nista pronadjeno na pretragi
    Response.Write \"<font face=\'Verdana,Georgia,Times\' size=\'1\'><p>Nazalost, vasa pretraga nije mogla biti pronadjena</p></font>\"
End If

\' Zavrsava cisti
myConn.Close
Set myConn = Nothing
%>

</body></html>
Avatar billede Slettet bruger
20. maj 2001 - 13:39 #1
Der ligger en artikel på activeserverpages.dk hvor du ser hvorddan man laver 10 poster pr. side..: http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp

Det du skal lægge mærke til, er at du bliver nødt til at modtage data(søgeord, den aktuelle side osv.. via URL\'en (http get, eller request.querysring) og ikke via http post eller request.form
Avatar billede Slettet bruger
20. maj 2001 - 13:48 #2
når du har lavet en side, der kaldes via http get, f.eks på flg måde: search.asp?name=andersen&page=4

Så kan du oprette et link, der henviser til en søgning på bogstavet \"A\", og den vil, som din kode ser ud nu, finde alle, det starter med \"A\" og vise de første 10 på flg måde: search.asp?navn=A&page=1

Men HUSK at du først skal have lavet pageing på siden, som beskrevet i artiklen på activeserverpages.dk

Desuden skal du have løst problemet mel mellemrum i http get (de bliver til underlige tegn)..

her kan jeg henvise til et svar jeg gav i: http://www.eksperten.dk/spm/61298

ellers uddyb problemet lidt mere, så ser vi hvad vi kan gøre.. tag et skridt af gangen...
Avatar billede ultra Nybegynder
21. maj 2001 - 12:23 #3
>> ok, smajli

Tak for dine svar :) jeg har prøvet det som du sagde men da jeg er 100 % nybegynder i ASP kunne jeg ikke få det til at køre. :(

Nu vil jeg prøve at uddybe det jeg mener.

-----------------------------==[Vælg - Funktion]==---------------------------------------
1. Når man vælger et bogstav i Drop-Down Box f.eks. A derefter skal man vælge i Drop-Down Box hvilken køn det skal være M eller K eller bege.

-----------------------------==[Vis resultat]==---------------------------------------
2. Der hvor den skal vise alle det navne den har fundet skal den kun vise 10 poster pr. side lige som http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp

-----------------------------==[Vis Alle]==---------------------------------------
3. En link hvor man kan klike på så den viser alle navne med bege køn og igen må den kun vise 10 poster pr. side.

Jeg håber at det er til at forstår. :)

Jeg takker på forhånd!
Avatar billede ultra Nybegynder
21. maj 2001 - 12:27 #4
Hvis der er forlidt point sige i bare til!
Avatar billede Slettet bruger
21. maj 2001 - 13:00 #5
Du er ude efter en færdig løsning?

Hvis du er 100% nybegynder, så er dette nok en lidt stor mundfuld (søgning og paging)
Avatar billede ultra Nybegynder
21. maj 2001 - 13:49 #6
>> smajli 

hvad mener du...
Avatar billede ultra Nybegynder
21. maj 2001 - 15:31 #7
kan nogen hjælp mig pleas!

mange tak!
Avatar billede ultra Nybegynder
21. maj 2001 - 17:24 #8
er der nogen der ved hvor jeg kan finde sådan en script
Avatar billede Slettet bruger
21. maj 2001 - 18:16 #9
Jeg kender ikke til et sted hvor du kan finde det. Jeg tror du prøver at hoppe over hvor gærdet er _for_ lavt, hvis du forstår hvad jeg mener.

Prøv at starte med at lave dine dropdown-menuer. Hvis du løber ind i problemer, så spørg. Når det så kører, så prøv at udvide med Sgefunktion. Når det virker, så prøv at få paging til at virke.. tag et skridt af gangen. Stil konkrete spørgsmål. Du afsætter en masse point i håbet om at få en total løsning. Prøv i stedet at spørge flere gange om konkrete ting. og afsæt færre point pr. spm. Så bliver du også selv meget klogere.

Bare et godt råd.

Men ellers kig på www.ry-grafisk.dk/log/mn og klik på \"galleri\"

Den kan jeg da godt sende dig for 300 point. Det er godtnok billeder, og ikke navne, men princippet er det samme.
Avatar billede ultra Nybegynder
30. maj 2001 - 14:28 #10
ok, smajli 
Avatar billede Slettet bruger
30. maj 2001 - 18:24 #11
OK, du vil gerne have den sendt? eller?
Avatar billede ultra Nybegynder
30. maj 2001 - 18:40 #12
ja, hvis du hjælper mig med at set den up :)

på forhånd mange tak! smajli
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