|
| kodeeksempel på søgefunktion søges Fra : Christian M. Nielsen |
Dato : 10-10-04 08:15 |
|
Jeg er ved at udbygge søgefunktionen til min hjemmeside.
Der er ingen problem med at søge på et ord. To og flere går også fint så
længe de står ved siden af hinanden. Hvis man søger på to ord der ikke står
ved siden af hinanden, så bliver det lidt mere tricket. Jeg går ud fra at
man skal splitte søgeresultatet op og så have lavet en dynamisk sql sætning,
men jeg er lidt på bar bund mht. begge dele. Er der nogen der kender en url
med et eksempel, eller evt. har en stump kode jeg kan se og modificere til
min egen side?
--
Mvh Christian http://www.cmnielsen.dk
What capital has 164 letters in its name? See my web page to find out.
Nyeste Artikel : Crenicichla compressiceps.
http://cmnielsen.dk/crenicichla.htm
The scary thing about looking for truth is that you might find it.
| |
Jonas Schmeltz Aaber~ (10-10-2004)
| Kommentar Fra : Jonas Schmeltz Aaber~ |
Dato : 10-10-04 13:47 |
|
> Jeg er ved at udbygge søgefunktionen til min hjemmeside.
>
> Der er ingen problem med at søge på et ord. To og flere går også fint så
> længe de står ved siden af hinanden. Hvis man søger på to ord der ikke
står
> ved siden af hinanden, så bliver det lidt mere tricket. Jeg går ud fra at
> man skal splitte søgeresultatet op og så have lavet en dynamisk sql
sætning,
> men jeg er lidt på bar bund mht. begge dele. Er der nogen der kender en
url
> med et eksempel, eller evt. har en stump kode jeg kan se og modificere til
> min egen side?
Det er - som du selv siger - noget med at splitte din streng til et array,
og med et loop tilføje i sql-strengen:
<%
Function SQLString()
Dim strSoegeOrd, arrSoegeOrd, strSQL, iCount
strSoegeOrd = Request.QueryString("soeg")
arrSoegeOrd = Split(strSoegeOrd," ")
strTempSQL = "SELECT ID, SideTitel, URL, Hits, Etc From Tabel1 " _
"WHERE SoegeOrd LIKE '%" & arrSoegeOrd(0) &_
"%'"
For iCount = 1 To UBound(arrSoegeOrd)
strTempSQL = strTempSQL & " OR SoegeOrd LIKE '%" & arrSoegeOrd(iCount) &
"%'"
Next
SQLString = strTempSQL
End Function
strSQL = SQLString()
%>
Håber det virker - har ikke testet.
MVH Jonas (aka Juke)
| |
Yoda.dk - Lars (10-10-2004)
| Kommentar Fra : Yoda.dk - Lars |
Dato : 10-10-04 17:53 |
|
Du kunne også bare erstatte alle mellemrum i den tekst du får fra
tekstfeltet med %
sådan at hvis man skriver "hej med dig" at det så bliver til "hej%med%dig"
så vil den fange de stedet hvor der også står eksempelvis "hejsa.. jeg går
en tur med digiboxen"
--
Venlig hilsen
Lars Andersen
"Jonas Schmeltz Aaberg" <julledyret@hotmail.com> wrote in message
news:41692f44$0$59405$14726298@news.sunsite.dk...
> > Jeg er ved at udbygge søgefunktionen til min hjemmeside.
> >
> > Der er ingen problem med at søge på et ord. To og flere går også fint så
> > længe de står ved siden af hinanden. Hvis man søger på to ord der ikke
> står
> > ved siden af hinanden, så bliver det lidt mere tricket. Jeg går ud fra
at
> > man skal splitte søgeresultatet op og så have lavet en dynamisk sql
> sætning,
> > men jeg er lidt på bar bund mht. begge dele. Er der nogen der kender en
> url
> > med et eksempel, eller evt. har en stump kode jeg kan se og modificere
til
> > min egen side?
>
> Det er - som du selv siger - noget med at splitte din streng til et array,
> og med et loop tilføje i sql-strengen:
>
> <%
> Function SQLString()
> Dim strSoegeOrd, arrSoegeOrd, strSQL, iCount
> strSoegeOrd = Request.QueryString("soeg")
>
> arrSoegeOrd = Split(strSoegeOrd," ")
>
> strTempSQL = "SELECT ID, SideTitel, URL, Hits, Etc From Tabel1 " _
> "WHERE SoegeOrd LIKE '%" & arrSoegeOrd(0) &_
> "%'"
>
> For iCount = 1 To UBound(arrSoegeOrd)
> strTempSQL = strTempSQL & " OR SoegeOrd LIKE '%" & arrSoegeOrd(iCount) &
> "%'"
> Next
>
> SQLString = strTempSQL
> End Function
>
> strSQL = SQLString()
>
> %>
>
> Håber det virker - har ikke testet.
>
> MVH Jonas (aka Juke)
>
>
| |
Jens Gyldenkærne Cla~ (10-10-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 10-10-04 22:07 |
|
Yoda.dk - Lars skrev:
> sådan at hvis man skriver "hej med dig" at det så bliver til
> "hej%med%dig"
Der bør nok også sættes jokertegn i starten og slutningen:
"%hej%med%dig%". Men et match kræver så at søgeordene optræder i
rækkefølge.
NB: Læs gerne min signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Christian M. Nielsen (14-10-2004)
| Kommentar Fra : Christian M. Nielsen |
Dato : 14-10-04 18:04 |
|
"Jonas Schmeltz Aaberg" <julledyret@hotmail.com> wrote in message
news:41692f44$0$59405$14726298@news.sunsite.dk...
> Det er - som du selv siger - noget med at splitte din streng til et array,
> og med et loop tilføje i sql-strengen:
>
> <% Function SQLString()
SNIP
> End Function
> Håber det virker - har ikke testet.
Det virker perfekt, jeg vil forsøge at arbejde videre med split delen.
Tak for hjælpen.
--
Mvh Christian http://www.cmnielsen.dk
What capital has 164 letters in its name? See my web page to find out.
Nyeste Artikel : Crenicichla compressiceps.
http://cmnielsen.dk/crenicichla.htm
The scary thing about looking for truth is that you might find it.
| |
|
|