jimpaMedlem sedan jan. 2001361 inlägg Hej,
Jag har ett formulär med 3 stycken olika dropdown menyer.
Jag tänkte att SQL frågan kunde se ut så här nånting..
SQL = "SELECT * FROM annons WHERE lage = '"&lage&"' AND bkat = '"&bkat&"' AND kat = '"&kat&"' ORDER By "& Request.Form("sortera")"
Men om man i dropdown menyerna har valt att visa (ALLT) i resp. tabel hur blir det då?
Någon If sats kanske
If Requestform("lage") = "ALLT" Then
lage = Allt i Record Setet
Eller är jag helt fel, någon som har något förslag?
Mvh Jimpa
EclipseMedlem sedan juli 20003 825 inlägg IF request("allt") = "allt" THEN
-- SQL = ...
ELSE
-- SQL = ...
END IF
------------------
OLR WebAdmin
[Redigerat av Eclipse den 19 jul 2001]
jimpaMedlem sedan jan. 2001361 inlägg Hmm,
Men jag har ju 3 stycken dropdown menyer.
Skulle det inte gå på något vis att tabort värdet från SQL-frågan där man i en dropdown menyn har valt att vissa allt? Eller måste man skriva en ny SQL-fråga för varje alternativ man väljer i formuläret?
Jag menar det kan ju bli ganska många olika kombinationer.
Mvh..
LarsGMedlem sedan dec. 200012 464 inlägg Du kan ju bygga upp SQL-satsen efter hand
sql = "select * from annons "
where = ""
If Requestform("lage") <> "ALLT" Then
if Len(where) = 0 then
where = "where lage = '" & lage & "' "
else
where = "and lage = '" & lage & "' "
end if
end if
If Requestform("bkat") <> "ALLT" Then
if Len(where) = 0 then
where = "where bkat = '" & bkat & "' "
else
where = "and bkat = '" & bkat & "' "
end if
end if
'pss för kat
------------------
essentitia preter non sans multiplicandum
jimpaMedlem sedan jan. 2001361 inlägg Tackar, tackar...
Det var precis nåt sånt som jag behövde!!
Mvh Jimpa
jimpaMedlem sedan jan. 2001361 inlägg Hmm,
I exemplet ovan så visas ju ingenting om man väljer ALLT
Öhh..
Meningen är ju att allt i tabellen ska skrivas ut.
Eller tänker jag helt fel nu!
Mvh Jimpa
LarsGMedlem sedan dec. 200012 464 inlägg Ok, nu blir så att om har valt ALLT i alla dropdownmenyer så kommer man att visa alla poster i tabellen.
------------------
essentitia preter non sans multiplicandum
jimpaMedlem sedan jan. 2001361 inlägg Hmmmm...
Kan man få ALLT = * ?
Asså visa allt i "bkat"
Ex.
If (Request.Form("bkat") = "ALLT" ) THEN
bkat= "*"
else
bkat = Request.Form("bkat")
where = "where bkat = '" & bkat & "' "
Mvh Jimpa
LarsGMedlem sedan dec. 200012 464 inlägg Det blir så nu, om du anger ALLT i en dropdownmeny så ställs ju inga villkor på den kolumen. Det är ju bara onödigt att lägga till något som
where bkat like '%'
------------------
essentitia preter non sans multiplicandum
jimpaMedlem sedan jan. 2001361 inlägg Onödigt!?
Mycket möjligt [ :)]
Men hur ska man göra då för att det ska funka?
Har gjort ett formulär här www.motocross1.nu/test_form.asp
Hur skulle du ha gjort SQL-frågan för att få det att funka?
Extremt tacksam för ett bra svar!!
Mvh Jimpa
[Redigerat av jimpa den 21 jul 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Jag förstår inte riktigt, för jag tycker att mitt förslag borde ge det resultat du frågar efter. (Bortsett från köpes/säljes som man får särbehandla.)
------------------
essentitia preter non sans multiplicandum
jimpaMedlem sedan jan. 2001361 inlägg Det var ju så här jag ville he det!
Fixade till koden själv!!! :)
<%
SQL = "Select * From annons "
If (Request.Form("bkat") = "saljes" AND Request.Form("bkat") = "kopes") THEN
SQL = SQL & "Where bkat in ('saljes','kopes') "
Else
SQL = SQL & "Where bkat = '" & bkat & "' "
End If
If (Request.Form("kat") = "Alla" ) THEN
SQL = SQL & "AND kat LIKE '%' "
ElseIf (Request.Form("kat") = "cross_enduro" ) THEN
SQL = SQL & "AND kat in ('cross','enduro')"
Else
SQL = SQL & "AND kat = '" & kat & "' "
End If
If (Request.Form("lage") = "sverige" ) THEN
SQL = SQL & "AND lage LIKE '%' "
Else
SQL = SQL & "AND lage = '" & lage & "' "
End If
If (Request.Form("fabrikat") = "Alla" ) THEN
SQL = SQL & "AND fabrikat LIKE '%' "
Else
SQL = SQL & "AND fabrikat = '" & fabrikat & "' "
End If
%>
Mvh Jimpa