Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Por favor, a dias estou tentando criar uma Consulta com CHECKBOX, e tenho conseguido apenas parte do serviço.
É assim:
1° Página exibe os "Tipos de Imóveis" em CheckBox, que ao escolher os nomes e clicar vai para a Página 2.
2º Página, mostra os "Tipos de Imóveis" da Página anterior e Lista os "Bairros" em CheckBox referente a consulta anterior.
3° Página, mostra as Consultas das páginas anteriores e Exibe os "Valores" referente a Página anterior.
4° Página, é exibido todos os imóveis referente a essa busca.
:upset: Até o momento não consegui sair da 1° Página, jás fiz várias buscas mas sem exito.
Segue o Código da 1° Página para que puder me orientar a Fazer a 2° Página, obrigado.
>
<%
Dim lista, chk_id, lista1
set lista= dados.Execute("select tipo_imovel from imoveis WHERE id AND cad_ok='S' GROUP BY tipo_imovel")
if not lista.EOF then
While not lista.EOF
Set lista1 = dados.Execute("SELECT * FROM TipoImovel WHERE id=" & lista("tipo_imovel"))
chk_id = lista1("tipo")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaTipo.asp" method="post">
<div align="left">
<a href="javascript:selecionar(<%=lista1("id")%>);"><input type="checkbox" name="tipo_imovel" value="<%=lista1("tipo")%>"> <%=lista1("tipo")%></a>
</div>
<%
lista.movenext
wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
</td>
<%
lista.close
Set lista=Nothing
%>
Se alguém tiver alguma ajuda será bem vinda.
Att,
William
Olá xanburzum, obrigado pela atenção.
Desculpe, mas procuro como: por ajax, checkbox? já estou com a cabeça fervendo, já rodei a internet em busca de algo,
O que gostaria de fazer é bem similar a deste site: http://www.solarimoveis.adm.br/lista-categorias.asp?negocio=1
Mas não tenho experiencia em programação, por isso é que encontro as dificuldades em certos scripts.
Grato.
William
deste modo no site citado é mais simples e não usa AJAX, sendo assim aconselho você a fazer tipo o que a MRV e outras contrutora fazem, colocar tudo junto, ou seja, você pode escolher o tipo do imóvel, a cidade, estado etc, tudo com combobox, depois só recuperar os dados e fazer a consulta na SQL, fica melhor, do que ter uma página, para selecionar o tipo, outra página para valor, outra para tal....
pensando em navegação e facilidade ao user, o que apresentei fica melhor.
Então xanburzum,
1) Eu pesquizei com AJAX como vc disse, mas eu só achei para Combo box, mas preciso que seja Input.
2) O cliente para quem estou montando o Site, ele quer neste modelo, á pro isso que já estou de cabeça quente, pois isso está muito complicado para mim. Mas ele quer neste formato citado.
3) A Primera página eu já montei, Só não estou conseguindo passar os valores Recuperados para a 2º Página.
Se tiver uma ajuda em cima do Código que já estou usando, poxa ficarei muito grtato.
Att,
William
mesmo esquema, coloque todos os checks na mesma página, fica mais fácil e melhor para o user, se mesmo assim o cliente quiser , primeiro selecionar o tipo, dae passa para proxima page, depois seleciona outro check na pagina 2, simplesmente vc pode ir passando o que ele selecionou em uma session , ou passar via campo hidden, depois só recuperar e montar a SQL
Boa noite Xanburzum, obrigado.
Então, é isso que estou tentando fazer.
Já usei o "hidden" <input type="hidden" name="tipo_imovel" value="<%=lista1("tipo")%>" />
Já usei "session" Session("tipo_imovel") = lista("id")
Mas não estou conseguindo fazer recuperar os dados Selecionados para montar a Segunda Página.
Se for Possível Xanburzum, poderia passar uns exemplos para me dar Nova luz, por favor.
Grato, William
ele esta gerando algum erro
Olá Xanburzum,
Então, ora da erros, ora fica em branco. depende do estou inserindo nos code.
Veja, na 1° Página eu alteriei tudo, ela está agora.
Este Select vem da TABELA "tipoImoveis"
Esta é a 1° Página: (Aqui exibe os Tipos de Imóveis)
>
<%
Dim lista, chk_id, tipo_imovel
set lista= dados.Execute("select * from tipoImovel WHERE id Order BY tipo")
if not lista.EOF then
While not lista.EOF
chk_id = lista("tipo")
Session("tipo_imovel") = lista("id")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaTipo.asp" method="post">
<div align="left">
<a href="javascript:(<%=lista("id")%>);"><input type="checkbox" name="tipo_imovel" value="<%=lista("tipo")%>"> <%=lista("tipo")%></a>
</div>
<%
lista.movenext
wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
</td>
<%
lista.close
Set lista=Nothing
%>
Na 2° Página, ele exibe os "Tipos de Imóveis" que foi selecionado.... Só não estou conseguindo PUXAR os "Bairros" referente a este "Tipos de Imóveis" da seleção para poder montar o SELECT.
Na 2° Página tem que BUSCAR em outra Tabela: ( IMOVEIS )
set lista = dados.Execute("SELECT * FROM imoveis WHERE id="& Session("tipo_imovel"))
Esta é a 2° Página: (Deveria listar os BAIRROS referente a consulta da 1° Página)
>
<%
Dim lista, chk_id
set lista = dados.Execute("SELECT * FROM imoveis WHERE id="& Session("tipo_imovel"))
if not lista.EOF then
While not lista.EOF
chk_id = lista("bairro")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaBairro.asp" method="post">
<div align="left">
<a href="javascript:selecionar(<%=lista("bairro")%>);"><input type="checkbox" name="bairro" value="<%=lista("bairro")%>"> <%=lista("bairro")%></a>
</div>
<%
lista.movenext
wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
</td>
<%
lista.close
Set lista=Nothing
%>
Depois irá para a 3° Página para exibir os Valores seguindo a mesma sequencia, para então IR para a página onde será mostrado todos os Imóveis dessa busca.
A cabeça já ta estourando rsrs
Grato.
DÊ um response.write na sua string SQL para ver o que esta sendo passado
Bom dia Xanburzum, obrigado pela paciencia .
Está dando esse ERRO na 2° Página:
>
Imóveis Selecionado foi: Casa,
Microsoft OLE DB Provider for ODBC Drivers erro '80040e10'
[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.
./imoveis_listaTipo_.asp, linha 59
Esta é a 2° Página: (imoveis_listaTipo_.asp)
>
<%
Dim tipo_imovel, lista, chk_id
Set lista = dados.Execute("SELECT * FROM imoveis WHERE id="& Session("tipo_imovel")) ( Linha 59 )
if not lista.EOF then
While not lista.EOF
chk_id = lista("bairro")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaBairro.asp" method="post">
<div align="left">
<a href="javascript:selecionar(<%=lista("bairro")%>);"><input type="checkbox" name="bairro" value="<%=lista("bairro")%>"> <%=lista("bairro")%></a>
</div>
<%
lista.movenext
wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
</div> <!-- CENTER -->
</td>
<%
lista.close
Set lista=Nothing
%>
Por que é tão dificil a vezes, me pergunto !!!
Grato mais uma vez Xanburzum
veirifique se no bd o campo ID esta como string ou numérico, do jeito que esta passando na SQl ele esta como string, mas no check vc esta passando um texto(casa)
SELECT * FROM imoveis WHERE id="& Session("tipo_imovel"))
e verifique também se na session esta passando valor.
Grato xanburzum, então está assim meu BD:
Tabela "tipoImovel"
id = N. Aut.
tipo = texto
Tabela "Imoveis"
Id = N. Aut.
tipo_imovel = Num.
bairro = texto
Dei um Response.Write na SQL da 2° Página:
>
SQL1="SELECT * FROM imoveis WHERE id="& Session("tipo_imovel")
Response.Write SQL1
Response.End()
Set lista = dados.Execute(SQL1)
Deu essa mensagem:
Imóveis Selecionado foi: Casa Cond.Fechado, SELECT * FROM imoveis WHERE id=7
Sempre da esse ID=7 em qualquer consulta que eu faço.
As Páginas são a seguinte, postando novamente.
1° Página ( Consulta a Tabela "TipoImovel" )
>
<%
Dim lista, chk_id, tipo_imovel
set lista= dados.Execute("select * from tipoImovel WHERE id Order BY tipo")
if not lista.EOF then
While not lista.EOF
chk_id = lista("tipo")
Session("tipo_imovel") = lista("id")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaTipo.asp" method="post">
<div align="left">
<a href="javascript:(<%=lista("id")%>);"><input type="checkbox" name="tipo_imovel" value="<%=lista("tipo")%>"> <%=lista("tipo")%></a>
</div>
<%
lista.movenext
wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
</td>
<%
lista.close
Set lista=Nothing
%>
2° Página ( Consulta a Tabela "Imoveis" ) Montando os Registro com base na Tabela da 1° Página.
>
<%
Dim tipo_imovel, lista, chk_id, SQL1
SQL1="SELECT * FROM imoveis WHERE id="& Session("tipo_imovel")
'Response.Write SQL1
'Response.End()
Set lista = dados.Execute(SQL1)
If not lista.EOF Then
While not lista.EOF
chk_id = lista("bairro")
%>
<div id="menuCheck" style="width: 300px; text-align:left">
<form name="check" id="check" action="imoveis_listaBairro.asp" method="post">
<div align="left">
<a href="javascript:selecionar(<%=lista("bairro")%>);"><input type="checkbox" name="bairro" value="<%=lista("bairro")%>"> <%=lista("bairro")%></a>
</div>
<%
lista.movenext
Wend
End if
%>
</form>
</div> <!--menuCheck -->
<input class="botao" type="button" value="Enviar" onclick="javascript:check.submit()">
<%
lista.Close
Set lista=Nothing
%>
Mas em qualquer consulta da sempre esse resultado: (ID=7)
Imóveis Selecionado foi: Casa Cond.Fechado, SELECT * FROM imoveis WHERE id=7
Me de uma LUZ, onde estou falhando.... isso ta me consumindo a quatro dias...
Obrigado
Att,
William
esse 7 é na session que esta vindo, limpe a session com o Session.Contents.RemoveAll() e depois selecione outro tipo e veja se altera
usa o onchange do checkbox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
function changePaginaTodos() {
var combo = document.getElementById('todos');
if ( (combo.value == "") || (combo.value == "0") ) {
window.location='comentarios.asp?<%=request.querystring()%>';
} else if (combo.value == " ") {
window.location='comentarios.asp?<%=request.querystring()%>';
} else {
window.location='comentarios.asp?id=<%=request.QueryString("id")%>&todos='+combo.value;
}
}
</script>
<title>Mostrando Dados</title>
</head>
<body>
<input type="checkbox" id="todos" name="todos" value="1" onchange="changePaginaTodos()"/>
</body>
</html>
Att;Eu fiz o que vc disse, mas fica a mesma coisa depois.
Esse id=7 é:
ID da tabela "tipoImovel"
E está vinculado com o:
tipo_imovel da tabela "Imoveis"
Ele fixa nessa consulta sempre, ta estranho isso.
Bom dia Xanburzum,
Estou publicando o LINK para teste ON-LINE também:
http://siteparasuaempresa.com.br/checkbox/imoveis.asp
Mas não importa quais os registro que seleciono na 1° Página, ela sempre irá exibir como mostra na 2° página:
Não está CARREGANDO os Bairros correspondente aos Tipos Selecionados.
E sempre só fica mostrando este Bairro "Vila Matilde"
Por favor, já estou quase desistindo desse script.
Já estou indo para o quinto dia batendo cabeça nisso.
Obrigado.
5 dias é pouco, veja como estou na foto de tanto eu pensar rsrs.
Att;
Poxa Gilberto, não brinca não... por favor.,
Já desisti, não consigo mesmo.
Quanto me cobrariam para deixar este script funcionando?
Att,
William
me envie por email xanburzum@terra.com.br
use ajax para pegar o estado do checkbox e abrir na mesma página os dados e vai guardando as seleções em session e aconselho guradar em um txt para depois saber a preferência do user (tipo um controle de estatística). Existem exemplos no fórum que eu postei dá uma olhada,