webForumDet fria alternativet

Sök

8 svar · 174 visningar · startad av antar

antarMedlem sedan dec. 2001289 inlägg
#1

varför funkar det inte??
vad betyder > 1??

if LEN(Request.Form("namn")) > 1 AND Request.Form("alder") = "" AND LEN(Request.Form("stad")) = "" Then
SQL = "SELECT * FROM members WHERE username LIKE '%" & Request.Form("namn")& "%' ORDER BY username"

elseif Request.Form("namn") = "" AND LEN(Request.Form("alder")) > 1 AND LEN(Request.Form("stad")) > 1 Then
SQL = "SELECT * FROM members WHERE alder LIKE '%" & Request.Form("alder")& "%' ORDER BY username"

elseIf LEN(Request.Form("namn")) > 1 AND LEN(Request.Form("alder")) > 1 AND LEN(Request.Form("stad")) > 1 Then
SQL = "SELECT * FROM members WHERE username LIKE '%" & Request.Form("namn")& "%' AND Alder LIKE '%" & Request.Form("alder")& "%'  AND stad LIKE '%" & Request.Form("stad")& "%' ORDER BY username" 

else
SQL= "SELECT * FROM members ORDER BY username"

End if
kristofferMedlem sedan juni 20001 257 inlägg
#2

Ja det är ju väldigt lätt att säga om du inte skriver ut något felmeddelande.

LarsGMedlem sedan dec. 200012 464 inlägg
#3

> betyder större än

LEN(Request.Form("stad")) = ""

eftersom len returnerar ett numeriskt värde så är det lite konstigt att jämföra det med en sträng.

Vad menar du med att det inte fungerar?

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 31 jan 2002]

antarMedlem sedan dec. 2001289 inlägg
#4

får inget felmeddelande

antarMedlem sedan dec. 2001289 inlägg
#5

typ går ej och söka??

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Om du vill lägga till olika sökvillkor beroende på vilka fält som är ifyllda så är det här en enklare metod.

sql = "select * from members where 1 = 1 "
if LEN(Request.Form("namn")) > 0 then
   sql = sql & "and username LIKE '%" & Request.Form("namn") & "%' "
end if

if LEN(Request.Form("alder")) > 0 then
   sql = sql & " and alder LIKE '%" & Request.Form("alder") & "%' "
end if

if LEN(Request.Form("stad")) > 0 then
   sql = sql & " and stad LIKE '%" & Request.Form("stad") & "%' "
end if

sql = sql & "order by username "

Annars så får du ange alla möjliga kombinationer (8 st i ditt fall.)

Är alla kolumnen av typen text? Om inte så får du byta ut like mot = och ta bort '%

------------------
essentitia preter non sans multiplicandum

antarMedlem sedan dec. 2001289 inlägg
#7

hur gör jag om jag vill göra om förra koden???
typ vill bara ha en sök knapp!!

antarMedlem sedan dec. 2001289 inlägg
#8

nån som vet hur man gör

LarsGMedlem sedan dec. 200012 464 inlägg
#9

jag tänkte mig att ditt formulär ser ut som

<form action='search.asp' method='POST'>
<input type='TEXT' name='namn'>
<input type='TEXT' name='alder'>
<input type='TEXT' name='stad'>
<input type='Submit' value='Sök'>
</form>

fast med lite mer lullull då. I så fall kan du använda den kod jag skrev.

------------------
essentitia preter non sans multiplicandum

139 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)