Avatar billede jonas-i Nybegynder
03. september 2002 - 14:17 Der er 1 løsning

Search

Eagleeye har hjulpet mig med følgende kode!

<% Response.Buffer = True %>
<html>
<head>
</head>
<body bgcolor=white text=black link=Blue alink=red vlink=blue>
<font face=verdana size=2>
<center>
<br>
<table border=0 cellspacing=0 bgcolor=white width=450>
<tr>
<td valign=top><font face=verdana size=2>
<%
strKeyword = Trim(Request.Form("Keyword"))


If Len(strKeyword) = 0 Then

  Response.Clear
  Response.Redirect("rightmain.asp")

Else

  strKeyword = Replace(strKeyword,"'","''")

End If

ordArray = Split(strKeyword, " ")
strSQLWhere = ""
strSQL = "SELECT * FROM link2"
if ubound(ordArray) > 0 then strSQL = strSQL & " WHERE "
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Emne LIKE '%" & ordArray(i) & "%')"
next
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Link LIKE '%" & ordArray(i) & "%')"
next
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Besk LIKE '%" & ordArray(i) & "%')"
next
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Titel LIKE '%" & ordArray(i) & "%')"
next
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Karakter LIKE '%" & ordArray(i) & "%')"
next
for i = lbound(ordArray) to ubound(ordArray)
  if strSQLWhere <> "" then strSQLWhere = strSQLWhere & " OR "
  strSQLWhere = strSQLWhere & "(Fag LIKE '%" & ordArray(i) & "%')"
next

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.connectionstring = "Provider=SQLOLEDB;Data Source=xxx.xxx.xxx.xxx;Initial Catalog=xxx.dk; User ID=xxx;Password=xxx;"

Conn.Open

Set rs = Conn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then

Do While Not rs.EOF

URL = rs("Link")
Besked = rs("Besk")
Titel = rs("Titel")
ID = rs("ID")
Karakter = rs("Karakter")
Fag = rs("Fag")

Link = "<b><a href=answer.asp?nummer=" & ID & " target='blank'>" & Titel & "</a></b>"

Response.Write "<li>" & Link & "</li>" & " <br> Fag: " & Fag & " - Karakter: " & Karakter & " - Tryk på link for beskrivelse :)"

rs.MoveNext
Loop
Else

Response.Write "<li>Desværre din søgning gav intet resultat :("

End If

Conn.Close
Set Conn = Nothing
%>
</table>
<br><br>
<script type="text/javascript" src="http://dk.danban.com/ad/7279970dccd4489b51b0900877b478a6">
</script>
</body>
</html>

Problemet er så bare at hvis man søger på et ord i søge feltet så Lister den alle enteries i min SQL-database som resultat...
Problem nr2. hvis man søger på to ord kommer følgende fejl.

Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near 'WHERE'.

/search.asp, line 61

Hjælp! Nogen der ved hvordan det kan løses? eller nogen der har en søgemaskine jeg kan bruge? Den skal kunne søge på mere end et ord!
Altså den må ikke tro at "en hest" er et ord den skal fatte at det er to!

Begge slags løsning accepteres! :)
Avatar billede jonas-i Nybegynder
04. september 2002 - 12:20 #1
Denne er slut mit problem er løst :)
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