Jag använder mig av Emissions sökscript , dock med en liten modifikation.
Har en dropdown meny där man kan välja vad man vill söka efter, och koden blir då:
alt = Request.Form("alt")
'grunddelarna i frågan beroende på valt alternativ
IF alt = "news" then
mSQL="SELECT nyheter.id, nyheter.rubrik, nyheter.artikel, nyheter.skribent, users.nick FROM nyheter INNER JOIN users ON nyheter.skribent = users.id WHERE "
mWhere="artikel LIKE '%%' OR rubrik LIKE '%%' OR skribent LIKE '%%' OR users.nick LIKE '%%'"
Page="News"
elseif alt = "users" then
mSQL="SELECT users.id, klubbar.namn, regioner.namn, users.nick, users.city, users.info FROM users INNER JOIN klubbar ON klubbar.id = users.klubbid INNER JOIN regioner ON users.regionid = regioner.id WHERE "
mWhere="users.nick LIKE '%%' OR klubbar.namn LIKE '%%' OR users.info LIKE '%%' OR regioner.namn LIKE '%%' OR users.city LIKE '%%'"
Page="Users"
elseif alt = "clubs" then
mSQL="SELECT klubbar.id, klubbar.namn AS klubbnamn, regioner.namn, klubbar.regionid, sporter.namn, idrotter.namn FROM klubbar INNER JOIN sporter ON klubbar.sportid = sporter.id INNER JOIN idrotter ON idrotter.sportid = klubbar.sportid INNER JOIN regioner ON klubbar.regionid = regioner.id WHERE "
mWhere="klubbar.namn LIKE '%%' OR sport.namn LIKE '%%' OR regioner.namn LIKE '%%' OR idrotter.namn LIKE '%%'"
Page="Clubs"
end if
Jag skriver sedan ut med hjälp av:
<%
If rs.EOF Then
Response.write("<p>Sorry, no results were found for this search.<p>It may help to<br><ul><li>Check your spelling</li><br><li>Enter a less specific phrase</li><br><li>Enter a more specific phrase, using i.e.""AND NOT""</li></lu>")
Else
%>
<p>
<%
Do until rs.EOF
IF Page = "News" then%>
<a href="news.asp?NID=<%=rs("Id")%>"><%=rs("Rubrik")%></a><br>
<%
Elseif Page = "Users" then%>
<a href="userinfo.asp?userid=<%=rs("Id")%>"><%=rs("nick")%></a><br>
<%
Elseif Page = "Clubs" then%>
<a href="clubinfo.asp?clubid=<%=rs("Id")%>"><%=rs("klubbnamn")%></a><br>
<%
end if
rs.MoveNext
Loop
End If
rs.close
set rs=nothing
Connection.close
set Connection=nothing
%>
Det funkar jättebra om man söker på nyheter eller users, men så fort man söker på klubbar så skriver den ut samma sak flera gånger. Det enda jag kan tänka mig är att den hittar söksträngen i flera tabeller och därför loopar igenom den... Jag vill dock begränsa så att den bara skriver ut resultatet en gång, även om den hittar söksträngen i flera tabeller..
Finns det nått sätt att begränsa detta?
Mvh
//G8