---
title: "Mer sökmotor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12453-mer-sökmotor"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jörgen HP"
published: "2001-11-03T18:50:00.000Z"
updated: "2001-11-04T16:48:00.000Z"
replies: 15
views: 323
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12453-mer-sökmotor"
---

# Mer sökmotor

## #1 — Jörgen HP, 2001-11-03T18:50Z

Hej!

Råkar också pula vidare med en sökmotor som söker igenom en databas efter olika kriterier. Är det något som sysslat med söksyntax, " ", +, och - ?

Tar gärna emot ideer hur man kan få sådana att funka.

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/12453

## #2 — voigtann1, 2001-11-03T18:56Z

jag kan ju få din kod för sök motor så blir jag glad :) om du vill alltså :) du får Credit för det på sidan :)

Permalänk: https://www.webforum.nu/p/293659

## #3 — jorgen, 2001-11-03T19:29Z

Hej!

På det sättet lär du dig inte så mycket ASP ;)

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/293660

## #4 — voigtann1, 2001-11-03T19:42Z

jag fattar inte hur man gör en sök motor.. jag har gjort allt annat på sidan förutom Sök motorn så jag kan den ASP jag behöver kunna just nu.. vad begär du från mej? jag e bara 17 år och har fått lära mej allt själv... det finns gränser :)

Permalänk: https://www.webforum.nu/p/293661

## #5 — origon, 2001-11-03T23:54Z

Det finns inga gränser för vad du kan lära dig! ;)

Permalänk: https://www.webforum.nu/p/293662

## #6 — MoonCow, 2001-11-04T02:04Z

nä... och du, jag är 15 och kämpar på ;)

Permalänk: https://www.webforum.nu/p/293663

## #7 — cHeMiCaL-X, 2001-11-04T02:25Z

Sök igenom ASP-forumet efter sökmotor så hittar du säkert nått

Permalänk: https://www.webforum.nu/p/293664

## #8 — cHeMiCaL-X, 2001-11-04T02:27Z

jag kan ge dig en liten hint för en bra start på en sökmotor:

Gör en sida för sökmotor formuläret och en annan som tar hand om själva sökningen.

Permalänk: https://www.webforum.nu/p/293665

## #9 — SPiN, 2001-11-04T05:31Z

Om vi ska ta och hålla oss till ämnet... ;)

Det lättaste vore om du splittade söksträngen vid varje + och -, och styrde SQL-frågorna med AND och OR.

Om du inte hängde med kommer jag väl tebax i morrn, då jag är lite piggare... Alltså söndag, jag kom hem just.

Permalänk: https://www.webforum.nu/p/293666

## #10 — voigtann1, 2001-11-04T08:25Z

cHeMiCaL-X
Om du e så "grym" :) kan du ju göra det åt mej :) :) det e typ det ända jag behöver nu är sök motor såsom här på wF. sen jag jag färdig med sidan whoho! =) nästan iallfall =)

Permalänk: https://www.webforum.nu/p/293667

## #11 — Vide, 2001-11-04T09:32Z

Här kommer en kod som jag skrev för ganska länge sedan, det är ju alltid något att utgå ifrån, men fråga mig bara inte hur den fungerar, det får ni lista ut själva... ;)

```
[kod]'** Skapar SQL-strängarnas Where-satser utifrån vad som stoppas in. **'
Function getSQLPartofMatch( tmp_strString, strFields, strPtrn,  bolNOT, rplce )

	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	arrFields = Split( strFields, ", " )
	
	strOperator = "AND"

	objRegExp.Pattern = strPtrn
	Set myMatch = objRegExp.execute(tmp_strString)
	
	For each item in myMatch
		objRegExp.Pattern = strPtrn
		strTmpString = objRegExp.Replace( item, "$1" )
		
		If rplce Then
			tmp_strString = Replace( tmp_strString, item, "" )
		End If
		
		tmp_strSQL = tmp_strSQL & " ( "
		
		For i = 0 To Ubound( arrFields )
			If i < Ubound( arrFields ) Then
				strInternalOperator = "OR"
			Else
				strInternalOperator = ""
			End If
			
			If bolNOT Then
				strStartOp = " NOT"
				strEndOp = " "
				If strInternalOperator = "OR" Then strInternalOperator = "AND"
			Else
				strStartOp = ""
				strEndOp = ""
			End If
			tmp_strSQL = tmp_strSQL & " ( " & arrFields( i ) & strStartOp & " LIKE '%" & strTmpString & "%' " & strEndOp & " ) " & strInternalOperator
		Next
		
		tmp_strSQL = tmp_strSQL & " ) " & strOperator
	Next
	
	getSQLPartofMatch = tmp_strSQL
	
End Function

Function getSQLofSearchParser( strString, strFields )
	arrPtrns = Array( "\+{1}""(.*?[^""])""", _
		"\+{1}[""]{0}(\S+)([""]){0}", _
		"-{1}""(.*?[^""])""", _
		"-{1}[""]{0}(\S+)([""]){0}", _
		"[""]{0}(\S+)([""]){0}" )
	
	For i = 0 To Ubound( arrPtrns )
		If i = 4 Then
			rplce = false
		Else
			rplce = true
		End If
		
		If i = 2 OR i = 3 Then
			bolNOT = true
		Else
			bolNOT = false
		End If
		
		strPtrn = arrPtrns( i )
		
		tmp_strSQL = tmp_strSQL & getSQLPartofMatch( strString, strFields, strPtrn, bolNOT, rplce )
	Next
	
	If tmp_strSQL <> "" Then
		getSQLofSearchParser =  " WHERE " & strStartSQL & Left( tmp_strSQL, Len( tmp_strSQL ) - 3 )
	End If
End Function
```

Permalänk: https://www.webforum.nu/p/293668

## #12 — Vide, 2001-11-04T09:48Z

Kan tillägga att du anropar hela patrasket med:

```
getSQLofSearchParser( strString, strFields )
```

Där strString är din söksträng och strFields är de fält du vill ha med ( kommaseparerat ).

Det du får ut är en where-sats som du hakar på din ordninarie SQL-sats...

Exempel:

```
strSQL = "select * from tblTable " & getSQLofSearchParser( "+sök -hicka", "namn, adress, icq" )
```

Mvh, Vide

Permalänk: https://www.webforum.nu/p/293669

## #13 — jorgen, 2001-11-04T11:34Z

Tack, spin, vide. Eftersom inte min chilliASP inte fixar reg exp får det bli split-varianten.

Ska labba vidare på den ideen :)

Mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/293670

## #14 — voigtann1, 2001-11-04T12:04Z

var den koden för mej vide eller?

Permalänk: https://www.webforum.nu/p/293671

## #15 — cHeMiCaL-X, 2001-11-04T14:07Z

Gör ett formulär ( sok.asp ) som sedan skickar formulär datan till svar.asp som med hjälp av Request.form("formulärfältnamn")

det gör du genom det gör du genom att ha request.form i sql-satsen exempel:

```
SQL = "SELECT * From "&Request.Form("section")&" Where tabell like '%"& Request.Form("formulärfältnamn")&"%'"
```

Permalänk: https://www.webforum.nu/p/293672

## #16 — Vide, 2001-11-04T16:48Z

> var den koden för mej vide eller?

Den var till alla som var intresserade av att bygga en sökmotor... :)

Om man inte skall söka med +, -, +"" o.s.v utan bara på ordet man skriver så fungerar cHeMiCaL-X version bra...

Permalänk: https://www.webforum.nu/p/293673

---

Tråden på webben: https://www.webforum.nu/amne/asp/12453-mer-sökmotor
