Jo jag håller på med en funktion där man kan söka på medlemmarna som finns i en databas.. o jag undrar hur man gör för att i sql satsen plocka ut inläggen i tabellen nickname som innehåller det som man postat från en form..
Antar att det är LIKE som ska bytas ut mot något ?!
SQL = "Select * From members where nick [b]LIKE[/b] '"& Request.form("nick") &"'"
hehe tack ;) Föresten det funkade fin fint! *tackar o bugar*
En sak till, skulle vilja göra så att man kan söka på flera olika fält.
t.ex förnamn, efternamn, nick m.m har lite tanke stopp, nån ide på hur jag enklast löser det?
Fast då måste man ju på nått vis se till att alla request.form:arna kommer med oxå? och hur ser jag till att namn måste innehålla just request.form("namn") och inte request.form("nick") ?? *förvirrad* e som ni märker inte så haj på detta!
SQL = "Select * From members where nick LIKE '%"& Request.form("nick") &"%'" _
& " or fornamn like '%" & request.form("namn") & "%'" _
& " or efternamn like '%" & request.form("namn") & "%'"
------------------ essentitia preter non sans multiplicandum
jaså d e så d ska gå till.. får det dock inte att funka riktigt.. Alltså vad betyder dom där , 3, 3, ? alldrig fattat det har bara lärt mig att så ska det vara :o)
Får error
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/StajlLinks 1.0/memb_list.asp, rad 27
<%
database = Server.MapPath("members.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")
if Request.querystring("search") = "nick" then
[b]SQL = "Select * From members where nick LIKE '%"& Request.form("nick") &"%'" _
& " or fornamn like '%" & request.form("namn") & "%'" _
& " or efternamn like '%" & request.form("namn") & "%'" [/b]
elseif Request.querystring("order") = "nick" then
SQL = "SELECT * FROM members ORDER BY nick"
elseif Request.querystring("order") = "Namn" then
SQL = "SELECT * FROM members ORDER BY namn"
elseif Request.querystring("order") = "efternamn" then
SQL = "SELECT * FROM members ORDER BY efternamn"
else
SQL = "SELECT * FROM members ORDER BY datum"
end if
[b]RecSet.Open SQL, Connection, 3, 3[/b] <-- error på denna raden
%>
Aha ok, jo jag glömmde kolla att du hadde skrivit samma namn som mig du hadde skrivit fornamn jag har bara namn så nu funkade det.. ett annat problem.. spelar ingenroll vad jag skriver i någon av inputsen alla inläg listas ändå :o) t.ex om jag skriver fox i nick o klickar ok så listas alla inlägg.. helknas :o)
Som @nders påpekar beror det på att du har or med. T.ex. om du inte anger något sökord för namn så blir ditt villkor
where nick like '%fox%' or namn like '%%'
vilket innebär att man hittar alla poster.
Du får nog lägga in lite dynamik i hur du bygger frågan
if Request.querystring("search") = "nick" then
SQL = "Select * From members where 1 = 1 "
if request.form("nick") <> "" then
sql = sql & "or nick LIKE '%"& Request.form("nick") &"%' "
end if
if request.form("namn") <> "" then
sql = sql & "or namn LIKE '%"& Request.form("namn") &"%' "
end if
------------------ essentitia preter non sans multiplicandum