Har ett forumlär där man väljer tre olika alternativ med radioknappar, dvs man kan bara få ett av alternativen.
Skulle vilja ha kryssrutor istället så man kan välja på ett, två eller tre alternativ (o kryssar man inte i något ska det helst komma upp en text om att man måste välja något..) Hur gör man detta?
Dagens kod ser ut såhär:
SQL = _
"select *" &_
" from hast" &_
" where kon = '"& SafeSQL(Request.Form("kon")) &"'"
farg = SafeSQL(Request.Form("farg"))
....
if farg <> "%" then
SQL = SQL & " and farg like '" & farg & "%'"
end if
Det är kon (=kön) som ska kunna bli valbart (Hingst, Sto, Valack)
if Request.Form("kon") = "" then
response.write "Du måste välja något..."
else
kon = ""
for each k in Request.Form("kon")
if kon <> "" then kon = kon & ","
kon = kon & "'" & k & "'"
next
SQL = _
"select *" &_
" from hast" &_
" where kon in (" & kon & ")"
farg = SafeSQL(Request.Form("farg"))
....
if farg <> "%" then
SQL = SQL & " and farg like '" & farg & "%'"
end if
...
end if
#3 Känns som jag förstår vad det är du har gjort =D (hade dock inte fått till det själv!).
Blir fel någonstans, men jag vet inte var, för felmeddelandet som kommer upp blir http error 507 o jag har fått hjärnsläpp om vart man ändrar det.. =S
if Request.Form("kon") = "" then
response.write "Du måste välja kön (ett, två eller tre)"
else
kon = ""
for each k in Request.Form("kon")
if kon <> "" then kon = kon & ","
kon = kon & "'" & k & "'"
next
SQL = _
"select *" &_
" from hast" &_
" where kon in (" & kon & ")"
farg = SafeSQL(Request.Form("farg"))
ras = SafeSQL(Request.Form("ras"))
namn = SafeSQL(Request.Form("hast"))
stambok = lcase(SafeSQL(Request.Form("stambok")))
uppf = SafeSQL(Request.Form("uppf"))
inskickad_av = SafeSQL(Request.Form("inskickad_av"))
if farg <> "%" then
SQL = SQL & " and farg like '" & farg & "%'"
end if
The Web server encountered an unexpected error while communicating with the ASP service.
Please contact the server's administrator if this problem persists.
Står det. Har fått annat meddelande förut, där det specifikt stått vad som är fel =S
Det blir likadant när jag ändrar något på en sida som fungerar sen tidigare (alltså gör medvetet fel för att se vad det blir för felmeddelande)
Hade inte tänkt att kunna ha kon tomt, men iof, man skulle ju både kunna lämna tomt och kryssa i alla...
Här kommer hela koden
SQL = _
"select *" &_
" from hast" &_
" where kon = '"& SafeSQL(Request.Form("kon")) &"'"
farg = SafeSQL(Request.Form("farg"))
ras = SafeSQL(Request.Form("ras"))
namn = SafeSQL(Request.Form("hast"))
stambok = lcase(SafeSQL(Request.Form("stambok")))
uppf = SafeSQL(Request.Form("uppf"))
inskickad_av = SafeSQL(Request.Form("inskickad_av"))
if farg <> "%" then
SQL = SQL & " and farg like '" & farg & "%'"
end if
if ras <> "%" then
SQL = SQL & " and ras like '" & ras & "%'"
end if
if namn <> "" then
SQL = SQL & " and namn like '%" & namn & "%'"
end if
if stambok = "not null" then
SQL = SQL & " and stamboks_nr is not null"
elseif stambok = "null" then
SQL = SQL & " and stamboks_nr is null"
end if
if uppf <> "" then
SQL = SQL & " and uppf like '%" & uppf & "%'"
end if
if inskickad_av <> "" then
SQL = SQL & " and inskickad_av like '%" & inskickad_av & "%'"
end if
bild = SafeSQL(Request.Form("bild"))
if bild <> "" then
SQL = SQL & " and bild_url is not null"
end if
diplom = SafeSQL(Request.Form("diplom"))
if diplom <> "" then
SQL = SQL & " and diplom_ar is not null"
end if
elit = SafeSQL(Request.Form("elit"))
if elit <> "" then
SQL = SQL & " and elit_ar is not null"
end if
SQL = SQL & " order by " & SafeSQL(Request.Form("ordning"))
rs.Open SQL, MinCon
%>
I koden i inlägg #4 ser jag inte det avslutande "end if". Med andra ord skall din kod se ut så här:
if Request.Form("kon") = "" then
response.write "Du måste välja kön (ett, två eller tre)"
else
kon = ""
for each k in Request.Form("kon")
if kon <> "" then kon = kon & ","
kon = kon & "'" & safesql(k) & "'"
next
SQL = _
"select *" &_
" from hast" &_
" where kon in (" & kon & ")"
farg = SafeSQL(Request.Form("farg"))
ras = SafeSQL(Request.Form("ras"))
namn = SafeSQL(Request.Form("hast"))
stambok = lcase(SafeSQL(Request.Form("stambok")))
uppf = SafeSQL(Request.Form("uppf"))
inskickad_av = SafeSQL(Request.Form("inskickad_av"))
if farg <> "%" then
SQL = SQL & " and farg like '" & farg & "%'"
end if
if ras <> "%" then
SQL = SQL & " and ras like '" & ras & "%'"
end if
if namn <> "" then
SQL = SQL & " and namn like '%" & namn & "%'"
end if
if stambok = "not null" then
SQL = SQL & " and stamboks_nr is not null"
elseif stambok = "null" then
SQL = SQL & " and stamboks_nr is null"
end if
if uppf <> "" then
SQL = SQL & " and uppf like '%" & uppf & "%'"
end if
if inskickad_av <> "" then
SQL = SQL & " and inskickad_av like '%" & inskickad_av & "%'"
end if
bild = SafeSQL(Request.Form("bild"))
if bild <> "" then
SQL = SQL & " and bild_url is not null"
end if
diplom = SafeSQL(Request.Form("diplom"))
if diplom <> "" then
SQL = SQL & " and diplom_ar is not null"
end if
elit = SafeSQL(Request.Form("elit"))
if elit <> "" then
SQL = SQL & " and elit_ar is not null"
end if
SQL = SQL & " order by " & SafeSQL(Request.Form("ordning"))
rs.Open SQL, MinCon
end if
(googlat lite på det, och ingen verkar ha något vettigt svar på varför det blir det meddelandet o inte det vanliga...)
Formuläret samt felmeddelandet finns på https://www.aramennoc.se I den övre vänstra rutan med rullgardinen finns om man drar ner sidan en länk som heter Under konstruktion, där går man in
För att se formuläret och svarssidan på hemsidan http://www.aramennoc.se, titta under (Rutan uppe till vänster, dra ner sidan lite, länken ligger under kanten..) Under konstruktion
If frågan eftersom du inte har en större if fråga med flera rader kod så kan man göra det på en rad.
Jag ser inte vad felet kan vara i så fall, jag har provat att köra koden lokalt utan ett recordset så det ända jag kan tänka mig felet kan vara är att du har fel i din SQL fråga... du saknar tabell eller fält i tabellen som du försöker anropar.
https://www.aramennoc.se/falt.jpg Här är alla fält i tabellen hast
Jag ser inget fel, men titta gärna för flera par ögon er ju mer än mina =)
Attans vad svårt det är när man inte får något vettigt felmeddelande =S Tycker det är nog så knepigt när felmeddelandet talar om var man ska titta och vad ska titta efter...
Funderade på det, men hur gör man? (lyckas glömma varje gång.. *pinsamt* )
är det response.write SQL? o var lägger man det? ska man inte sätta ' någonstans också?