webForumDet fria alternativet

SQL - fråga

11 svar · 186 visningar · startad av jimpa

jimpaMedlem sedan jan. 2001361 inlägg
#1

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
#2
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
#3

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
#4

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
#5

Tackar, tackar...
Det var precis nåt sånt som jag behövde!!

Mvh Jimpa

jimpaMedlem sedan jan. 2001361 inlägg
#6

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
#7

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
#8

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
#9

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
#10

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
#11

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
#12

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

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