---
title: "Storre typ av sokfunktion...."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/65483-storre-typ-av-sokfunktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "crisse6"
published: "2003-01-20T02:51:37.000Z"
updated: "2003-01-26T19:36:22.000Z"
replies: 17
views: 379
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/65483-storre-typ-av-sokfunktion"
---

# Storre typ av sokfunktion....

## #1 — crisse6, 2003-01-20T02:51Z

Hej!

Forsoker fa ihop en storre typ av sokfunktion, liknande den har pa wF... Iaf, har bl a radiobuttons som kan ha olika varden... Blir ju ett jakla jobb och troligen en del if-satser om man ska behova kolla varje vad den innehaller for att fa fram, vet ju inte direkt vad anvandaren kompar ihop... hehe! Sa har ser det ut nu... 

```
<%
strText = request.form("text")

strUsername = request.form("usrname")

'strMatchUser ar radiobuttons och kan
'innehalla matcha hela namnet eller en del av det
strMatchUser = request.form("userSpec")

strForum = request.form("forum")

'strMatchForum ar ocksa radiobutton och kan
'innehalla sok pa rubrik eller bara fran inlagget
strMatchForum = request.form("forumSpec")

strOrderDatum = request.form("datum")
strOrderFrom = request.form("order")

'strOrderList ar radiobuttons som valjer ASC
'eller DESC i sortering
strOrderList = request.form("sortBy")

strListHits = 	"select * from t_threads where f_text LIKE '%"&strText&"%' AND"&_
		" f_by LIKE '%"&strUsername&"%' AND forumID = "&strForum&""
set rs = objConn.execute(strListHits)

If rs.eof then
	response.write "Inga träffar"
else

Do Until rs.eof

	response.write rs("f_text")&"&&nbsp;"&rs("f_by")&"&&nbsp;"&rs("forumID")&""
rs.Movenext
Loop
End IF
%>
```

Hanger ni med?

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

## #2 — OveRRidE, 2003-01-20T06:43Z

> Hanger ni med?

Givetvis. §e

Vad vill du ha hjälp med?

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

## #3 — crisse6, 2003-01-20T06:54Z

Ha! :e

Okey, ska vi kora lista pa det i numerisk ordning? :)
1\. Jag har formular med radiobuttons, textfalt, selectbox.
2\. Sidan som tar emot data ska da i sql:en "sortera" ut vad man valde i formularet. Problemet ar te x, sag att anvandaren valde detta:

Upload i ASP-forumet av cri, (dvs matcher en del av namnet), och valde att soka igenom inlagg (inte rubrik alltsa)... hur far man ihop det?
anvandaren kan ju mixtra lite hur som helst...

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

## #4 — CatZ, 2003-01-20T07:34Z

Det bästa vore nog att i princip göra massvis med sql frågor och bara köra den där precis de kriterierna finns för sql frågan. Blir mycket kod men det lär ju snabba upp sökningarna en hel del och dessutom inte suga så mycket systemresurser såvida inte dina puckobesökare väljer att söka lite av varje :)

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

## #5 — crisse6, 2003-01-20T07:38Z

Men vill INTE gora sa, vill hitta en smartare satt....

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

## #6 — CatZ, 2003-01-20T07:40Z

Lycka till :P

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

## #7 — OveRRidE, 2003-01-20T07:47Z

> **CatZ skrev:**
>
> Det bästa vore nog att i princip göra massvis med sql frågor och bara köra den där precis de kriterierna finns för sql frågan. Blir mycket kod men det lär ju snabba upp sökningarna en hel del och dessutom inte suga så mycket systemresurser såvida inte dina puckobesökare väljer att söka lite av varje :)

Det bästa är nog att generera SQL-frågan efter vad de olika request-samlingarna innehåller. 

Jag har gjort ett sådant script och har även postat det här någonstans på Wf, men jag hittar det inte nu.

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

## #8 — OveRRidE, 2003-01-20T07:53Z

Kika här, det kanske hjälper lite. 

<http://www.webforum.nu/showthread.php?s=&postid=462035#post462035>

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

## #9 — crisse6, 2003-01-20T08:04Z

ska kolla mer imorgon, tackar

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

## #10 — CatZ, 2003-01-20T08:50Z

Tjusigt :) Visste inte man kunde göra på det viset. Men så har jag bra läst lite SQL här på webforum också :)

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

## #11 — crisse6, 2003-01-20T18:18Z

okey. ar helt borta nar det galler for...next.... osa.. 
formularnamnen ar dessa:

```
strText = request.form("text")

strUsername = request.form("usrname")

'strMatchUser ar radiobuttons och kan
'innehalla matcha hela namnet eller en del av det
strMatchUser = request.form("userSpec")

strForum = request.form("forum")

'strMatchForum ar ocksa radiobutton och kan
'innehalla sok pa rubrik eller bara fran inlagget
strMatchForum = request.form("forumSpec")

strOrderDatum = request.form("datum")
strOrderFrom = request.form("order")

'strOrderList ar radiobuttons som valjer ASC
'eller DESC i sortering
strOrderList = request.form("sortBy")
```

och hur far jag ihop det med den koden du lankade till Override?

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

## #12 — crisse6, 2003-01-21T14:08Z

hallu? :)

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

## #13 — OveRRidE, 2003-01-26T18:14Z

Ok. Nu kommer hela lösningen till dig crisse. Se det som en engångsföreteelse. :p ;)

sok1.asp (formuläret)

```
<form method="post" action="sok.asp">

text: <input type="kol_text" name="req_text"><br>
user: <input type="kol_user" name="req_user"><br>
<br>
forum: 
<select name="forum">
	<option value="1">Forum 1
	<option value="2">Forum 2
	<option value="3">Forum 3
</select><br>
sortering: 
<select name="order">
	<option value="ASC">ASC
	<option value="DESC">DESC
</select><br>
<br>

<input type="submit" value=" OK ">
</form>
```

sok.asp (sokmotorn)

```
<%
response.buffer = true

SQL = "SELECT * FROM din_tabell WHERE 1=1 "
	
	'strForum = 12
	'strOrderFrom = "DESC"
	
	strForum = request.form("forum") '<<-- vilket forum-ID
	strOrderFrom = request.form("order") '<<-- ASC, DESC (id)
	
	for each item in request.form
		strValue = trim(request.form(item))
		strValue = replace(strValue,"'","''")
		strValue = replace(strValue,"*","%")
		if instr(strValue,"%") > 0 then
			strLogOp = "LIKE"
		else
			strLogOp = "="
		end if
		
		if cstr(left(item,4)) = "req_" AND len(request.form(item)) > 0 then
			SQL = SQL & "AND "
			'generera kolumnnamnet
			SQL = SQL & right(item,len(item)-4)
			'generera värdet
			SQL = SQL & " " & strLogOp & " '" & strValue & "' "
		end if
	next
	
	SQL = SQL & " AND WHERE forumId = " & strForum
	SQL = SQL & " ORDER BY id " & strOrderFrom

	response.write SQL
	
	set rs = conn.execute(SQL)

if rs.eof then
	response.write "Inga träffar"
else

	Do Until rs.eof
		response.write rs("f_text")&"& "&rs("f_by")&"& "&rs("forumID")&"<br>"
	rs.Movenext
	Loop

end if
%>
```

Varsågod. :)

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

## #14 — OveRRidE, 2003-01-26T18:19Z

Ett tillägg! :)

\* Om formulär-elementet heter t.ex. 'req_user' så *måste* fältet som innehåller username heta 'user'. Delen 'req\_' sorteras bort automagiskt av scriptet. Detta gäller för fälten 'text' och 'user'.

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

## #15 — crisse6, 2003-01-26T18:40Z

hmm... tack override, men fick felmess:
Missing Operator!
sql:en ser ut sa har:

```
SELECT * FROM t_threads WHERE 1=1 AND text = 'hej' AND user = 'crisse6' AND WHERE forumId = '1 ORDER BY id ASC
```

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

## #16 — OveRRidE, 2003-01-26T18:42Z

Givetvis får du det, du har en ' (apostrof) mitt i alltihopa. Den kommer troligtvis från formulär-elementet 'forum'. Kolla det värdet.

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

## #17 — OveRRidE, 2003-01-26T19:24Z

Ändra den här raden

```
SQL = SQL & " AND WHERE forumId = " & strForum
```

till

```
SQL = SQL & " AND forumId = " & strForum
```

.

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

## #18 — crisse6, 2003-01-26T19:36Z

funkar fin fint!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/65483-storre-typ-av-sokfunktion
