webForumDet fria alternativet

Neutralt värde.

ASP

3 svar · 194 visningar · startad av Lazerzubb

Medlem sedan mars 2000542 inlägg
Frågan#1

Hur får man ett neutralt värde på en Radio button?
Om jag vill att "both" värdet ska visa både "Villa" och "apartment" vilket "value" ska då "both" värdet ha ?

Submit kod

  <input type="radio" name="typ" value="Villa">
  Villa<br>
  <input type="radio" name="typ" value="Apartment">
  Apartment<br>
  <input type="radio" name="typ" value="" checked>
  Both <br>

Sökkod som tar hand om radio button

 " AND htype = '" & Request.Form("typ")&_
Medlem sedan feb. 20012 412 inlägg
#2

Är väl bättre att använda checkbox där du kan välja båda alternativen. När du sedan tar emot värdet om båda är ikryssade får du dina värden kommaseparerade.

Sedan kan du bygga din sql-fråga efter det:

if len(request.form("Typ")) > 0 then

arrTyp = split(request.form("Typ"), ",")

sql ="SELECT Typ FROM tabellen WHERE "

for i = 0 to ubound(arrTyp)

if i < ubound(arrTyp) then

sql = sql & " Typ = '" & arrTyp(i) &"' AND "

elseif i = ubound(arrTyp) then

sql = sql & " Typ = '" & arrTyp(i) &"' "

end if
Next
sql = sql & " ORDER BY Typ ASC"
end if
Medlem sedan mars 2000542 inlägg
#3

Öh fattar inte speciellt mycket av den koden, men om jag byte till checkbox, hur skulle jag då ändra denna kod så att det som du skrev funkade.

      <%	Set Connect = Server.CreateObject("ADODB.Connection")
        Set RS    = Server.CreateObject("ADODB.Recordset")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
If Request.Form("sale") <> "" Then
SQL = "SELECT * From star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_
 " AND bedr BETWEEN " & Request.Form("beds")& " AND " & Request.Form("bedsh")&_
 " AND bathr BETWEEN " & Request.Form("baths")& " AND " & Request.Form("bathsh")&_
 " AND htype = '" & Request.Form("typ")&_
 "' AND term = '" & Request.Form("sale")&_
 "' ORDER BY price DESC"

RS.Open SQL, Connect, 3, 3

%>
Medlem sedan juni 200032 967 inlägg
#4

Om du ändrar till två checkboxar där en eller två kan vara markerade, räcker det om du ändrar lite grann i den kod du postade.

<%	Set Connect = Server.CreateObject("ADODB.Connection")
        Set RS    = Server.CreateObject("ADODB.Recordset")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
If Request.Form("sale") <> "" Then
SQL = "SELECT * From star WHERE (province LIKE '" & Request.Form("city")& "%' OR city LIKE '" & Request.Form("city")&_
 "%') AND price BETWEEN " & Request.Form("LPrice")& " AND " & Request.Form("HPrice")&_
 " AND bedr BETWEEN " & Request.Form("beds")& " AND " & Request.Form("bedsh")&_
 " AND bathr BETWEEN " & Request.Form("baths")& " AND " & Request.Form("bathsh")&_
[b] " AND htype IN (" & Request.Form("typ")&_
 ") AND term = '" & Request.Form("sale")&_[/b]
 "' ORDER BY price DESC"

RS.Open SQL, Connect, 3, 3

%>

Du får dock se till att du har med apostroferna redan från början i ditt checkbox-value:

<input type="checkbox" value="'Villa'">

Du måste också, om du använder checkboxar, kontrollera att inte värdet är tomt (dvs ingen checkbox markerad). Om inte blir det med stor sannolikhet galet innehåll i recordsetet om något.

Mvh,

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)