Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TeixeiraRamos

Caixa de Seleção com dados de um banco de dados (tb)

Recommended Posts

Tenho uma "tb_siglas_paises" e um dos campos tem o nome: "nome_pais".

Gostaria de colocar todos os países que estão na "tb_siglas_paises" dentro de uma "Caixa de Seleção" e um botão do lado "OK". Escolhendo um determinado país na "Caixa de Seleção" e clicando no botão "OK" iria para outra página onde se encontra um mapa que tem o campo "nome_pais" daquele país que escolhi na "Caixa de Seleção" em um determinado local.

Estou tentando criar primeiro a "Caixa de Seleção" mas abre umas besteiras, ou seja, diversas "Caixas de Seleção" vazias, já andei alterando e abriu um "Caixa de Seleção" para cada país.

Tenho consciência que estou no caminho errado.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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" />
<title>Selecione um país</title>
<!--#Include file="dbConexao.asp"-->
<%
Dim conexaoDatabase 
Call AbreConexao
'crio o rs
set rs=Server.CreateObject("ADODB.Recordset")
'crio o SQL
SQL="SELECT tb_siglas_paises.nome_pais FROM tb_siglas_paises"
rs.open SQL,conexaoDataBase,1,3
'Fechando a conexão
set conexaoDataBase = nothing
%>
</head>

<body>
<%while not rs.eof%>
<select name="modo">
  <option value=<%=rs("nome_pais")%>"Entidade"</option>
</select>
<% rs.movenext
   wend
   Set rs=nothing
   Set conexaoDatabase=nothing
%>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

este script faz o preenchimento de um combo e pega o valor do combo preenchido pra fazer o outro combo, tipo:

um combo país e outro combo estado

as tabelas saun:

pais- com os campos
cod_pais - chave primária
nome

estado -c om os campos
cod_pais - chave estrangeira
cod_estado
nome

as tabelas possuem relacionamento de um para muitos
<% Option Explicit

'declaro as var
dim var1,var2,var3,....., etc
'
recupero as var
varpais=request.querystring("pais")
'crioa a conexao
%>

<!--# include file="conexao/conexao.asp"-->

<%
'abro a conexao
Call abre_conexao
'
crio o rs
set rspais=server.createobject("ADODB.Recordset")
'crio a SQL
SQLpais="SELECT * FROM pais ORDER BY nome"
rspais.open SQLpais,conexao,1,3

%>


'aki vou criar o combo, onde no evento onchange ele irá enviar o value do combo pais para a mesma pag, para eu recuperar o codigo do pais e assim preencher o combo estado.


<form action="inserirend_action.asp" method="post"name="frmteste">
<select name="pais" size="1" Onchange="window.navigate('pag_atual.asp?pais='+frmteste.pais.value)">

<% while not rspais.eof%>
<option value="
<%=rs("cod_pais")%>">
<% if varpais=rs("pais") then
response.write("Selecionado")
end if%>
<%=rs("nome")%>
</option>
<% rspais.movenext
wend%>

</select>
<% set rspais=nothing%>

'aki crio o combo estado


<select name="estado"size="1">
if request("pais") ="" then%>
<option value=""> selecione um pais
<%else
'crio o SQL estado
SQLestado="Select * from estado where cod_pais="&varpais&" Order by nome"
'
crio o rsestado
set rsestado=server.createobject("ADODB.Recordset")
rsestado.open SQLestado,conexao,1,3
<%while not rsestado.eof%>
<option value="
<%=rsestado("cod_estado")%>">
<%=rs("nome")%>
</option>
<%rs.movenext
wend

end if%>
</select>
<% set rsestado=nothing%>
<% 'fecho a conexao
call fecha_conexao
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem outro exemplo? Pra mim ficou complicado.

Tenho uma tabela no Access, com nome tb_siglas_paises na qual um dos campos tem o nome "nome_pais".
Gostaria de "povoar" todos os registros do campo "nome_pais" da tb_siglas_paises na Caixa de Cambo.

ASP alimenta uma a caixa de combo?

 

Estou tentando isso:

<%
'Chamando a sub de conexão database
Dim conexaoDatabase
'Abrir Conexão
call AbreConexao

'crio o rs
set rs=Server.CreateObject("ADODB.Recordset")
'crio o SQL
SQL="SELECT tb_siglas_paises.nome_pais FROM tb_siglas_paises"
rs.open SQL,conexaoDataBase,1,3
'Fechando a conexão
set conexaoDataBase = nothing
%>
</head>
<body>
<%while not rs.eof%>

<form name="Menu">
 <select name="pages" size="1">
  <option value="#" selected="selected">Para onde você quer ir?
  <option value="<%=rs("nome_pais")%>">
</select>
<% rs.movenext
   wend
   Set rs=nothing
   Set conexaoDatabase=nothing
%>
</form>
</body>
</html>



Vou ter que usar outro um JavaScript?

Esse Script funciona bem para clicar e ir para um determinada página.

<script language="JavaScript">
 function vai(combo)
 {
  var x = combo.selectedIndex;
  var endereco = combo.options[x].value;
  if (endereco != "#")
{
  novapagina = window.open(endereco,"NovaPgn");
}
}
</script>

Não estou conseguindo e não sei se é o caso de poder adaptar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só muda suas variáveis para o code que postei. única diferença que estou usando Onchange e mandando uma querystring. o resto é o que vc quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, xanburzum,

Tive o prazer de ver a caixa combo "povoada" com todos os registros do campo "nome_pais" da "tb_siglas_paises".

Porém tenho certeza que tem algo errado:

 

1) Está abrindo a página "inseriend_action.asp" aparece a caixa combo com todos os registros do campo "nome_pais" da tb_siglas_paises;

 

2) Ao escolher um determinado país, por exemplo "França" gostaria que fosse aberta uma outra página e nessa o nome "França" que foi a opção.

 

Observe o que fiz:

Criei uma página com nome "localizacao_pais.asp" com o código (que não está servindo de nada) nessa página é que eu gostaria que aparecesse o nome do país escolhido:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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>
<!--#Include file="dbConexao.asp"-->

<%
'Chamando a sub de conexão database
Dim conexaoDatabase, varpais=request.QueryString("nome_pais")
'Abrir Conexão
call AbreConexao

'crio o rs
set rs=Server.CreateObject("ADODB.Recordset")
'crio o SQL
SQL="SELECT * FROM tb_siglas_paises ORDER BY nome_pais"
rs.open SQL,conexaoDataBase,1,3

'Fechando a conexão
set conexaoDataBase = nothing
%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table width="758" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<form name="form1" method="post" action="localizacao_pais.asp">
<%while not rs.eof%>
<tr>
<td><%=rs(<%("nome_pais")%></td>
</td>
</tr>
<% rs.movenext
   wend
   Set rs=nothing
   Set conexaoDatabase=nothing
%>
</form>
</table>
</body>
</html>



Criei página "inseriend_action.asp" nessa eu consigo "povoar" toda a caixa combo porém, como já mencionei, ao selecionar qualquer país nada acontece.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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>
<!--#Include file="dbConexao.asp"-->

<%
'Chamando a sub de conexão database
Dim conexaoDatabase, varpais
'Abrir Conexão
call AbreConexao

'crio o rs
set rs=Server.CreateObject("ADODB.Recordset")
'crio o SQL
SQL="SELECT * FROM tb_siglas_paises ORDER BY nome_pais"
rs.open SQL,conexaoDataBase,1,3

'Fechando a conexão
set conexaoDataBase = nothing
%>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="inseriend_action.asp" method="post" name="frmteste">
<select name="nome_pais" size="1" onchange="window.navigate('localizacao_pais.asp?pais='+frmteste.nome_pais.value)">
<% while not rs.eof%>
<option value="<%=rs("nome_pais")%>">
<% if varpais=rs("nome_pais") then
response.Write("Selecionado")
end if%>
<%=rs("nome_pais")%>
</option>
<% rs.movenext
   wend
   Set rs=nothing
   Set conexaoDatabase=nothing
%>

</body>
</html>

No meu código, principalmente na linha abaixo existem erros e não identifiquei.

<form action="inseriend_action.asp" method="post" name="frmteste">
<select name="nome_pais" size="1" onchange="window.navigate('localizacao_pais.asp?pais='+frmteste.nome_pais.value)">

Resumindo na caixa combo foi inserido os registros do campo "nome_pais" da "tb_siglas_paises" mas falta, ao escolher um país, ir para outra página mostrando o nome daquele pais que foi escolhido na caixa combo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na área Informática, no centro, na parte inferior ultimo link

http://www.informacaoteixeira.com.br/

 

Vamos supor que esteja indicando "Açores" na caixa combo. Estou necessitando de um botão (btn_localizar) que clicando abra uma outra página mostrando só a palavra "Açores". E assim com os outros nome por exemplo optando por "Angola" clicando no btn_localizar abre a página só indicando "Angola". Não estou conseguindo colocar na página "inserirend_action.asp" um um botão (btn_localizar) para direcionar para outra página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já resolvido.

<input name="btn_localizar" type="submit" id="btn_localizar" value="pesquisar" />

E declarei as variáveis do país selecionado.

Obrigado a todos.

Vou retirar o link

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.