Ir para conteúdo

Arquivado

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

criacaoi7

Criar página para exibir dados.

Recommended Posts

hargon id_estado está na tabela cidades e também na tabela estados

 

Na tabela cadastro_escolas existe apenas id_cidade como o pessoal aqui do fórum me sugeriu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera a SQL para essa abaixo:

strDados = "SELECT DISTINCT E.estado, C.cidade "&_
		   "FROM (cadastro_escolas CE INNER JOIN cidade C ON CE.id_cidade = C.id_cidade) INNER JOIN estado E ON C.id_estado = E.id_estado "

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, deu certo, nesta correção que você fez os nomes das tabelas estavam errados, estava cidade e estado e o correto é no Plural, cidades e estados...

 

Muito obrigado.

Veja link: http://www.olimpiadaconsesp.com.br/cidades/paginacao.asp

 

Dentro deste tópico, gostaria de saber como eu coloco um link no nome de cada cidade que for listada, exibindo numa outra página todas as escolas cadastradas para aquela cidade.

 

Já fiz a página que exibe os dados:

http://www.olimpiadaconsesp.com.br/cidades/exibe.asp

O select desta página de exibição lista todas as escolas cadastradas na tabela cadastro_escolas, mas ele deverá exibir apenas as escolas da cidade que for clicada.

 

Se puder ajudar ainda neste post fico grato.

 

Jr.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom.

 

Sobre o link, seria basicamente acrescentar a tag do link ao nome da cidade.

 

Por exemplo...

<%
if not rs.eof then
	while not rs.eof
		response.write "<a href=""pagina.asp?id_cidade="& rs("id_cidade") & """>" & rs("nmcidade") & "</a>"
		rs.movenext
	wend
end if
rs.close
set rs = nothing
%>

Tenta aí, qualquer coisa posta essa parte do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, fiz a inserção do código e me reportou este erro:

 

ADODB.Recordset erro '800a0cc1'

 

O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.

 

/cidades/paginacao.asp, line 96

 

Só recapitulando que esta página exibe apenas as cidades que tem escolas cadastradas, sendo assim o nome da cidade (campo: cidade) está presente apenas na tabela cidades. Na tabela Cadastro_escolas eu tenho apenas o id_cidade.

 

Veja como está o meu código:

 

<%
   'Iniciamos o Loop
	rsDados.AbsolutePage = intpagina
	intrec = 0
	While intrec<rsDados.PageSize and not rsDados.eof  
  %>
  <tr> 
	<td id="Dados"> 
	  <%
if not rsDados.eof then
	while not rsDados.eof
		response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a>"
		rsDados.movenext
	wend
end if
rsDados.close
set rsDados = nothing
%>
	</td>
	<td id="Dados"> 
	  <%=rsDados("estado")%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pela mensagem de erro, um dos campos que você está tentando acessar não foi citado no SELECT. Dê uma verificada nisso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, dei uma examinada mas não consegui identificar o problema, pois os campos citados estão presentes no select:

 

strDados = "SELECT DISTINCT E.estado, C.cidade "&_

"FROM (cadastro_escolas CE INNER JOIN cidades C ON CE.id_cidade = C.id_cidade) INNER JOIN estados E ON C.id_estado = E.id_estado "

rsDados.open strDados, conexao, 3, 3

 

Talvez o poderia ser no select id_cidade, mas o id cidade já está relacionado em ambas tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce seleciono apenas estado e cidade e tenta exibir id_cidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário este id_cidade foi inserido para que eu consiga um link para exibir as escolas cadastradas em cada cidade, foi o hargon que sugeriu...

 

Acrescentei no select o id_cidade e me reporta este erro:

 

Microsoft JET Database Engine erro '80004005'

 

O campo especificado 'id_cidade' pode se referir a mais de uma tabela relacionada na cláusula FROM da instrução SQL.

 

/cidades/paginacao.asp, line 13

 

Meu select está assim:

 

Set rsDados = Server.CreateObject("ADODB.Recordset")
strDados = "SELECT DISTINCT E.estado, id_cidade, id_cidade, C.cidade "&_
		   "FROM (cadastro_escolas CE INNER JOIN cidades C ON CE.id_cidade = C.id_cidade) INNER JOIN estados E ON C.id_estado = E.id_estado "
		rsDados.open strDados, conexao, 3, 3

Lembrando que a exibição está desta forma:

 

<%
if not rsDados.eof then
	while not rsDados.eof
		response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a>"
		rsDados.movenext
	wend
end if
rsDados.close
set rsDados = nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera para a SQL abaixo:

strDados = "SELECT DISTINCT E.estado, C.id_cidade, C.cidade "&_
		   "FROM (cadastro_escolas CE INNER JOIN cidades C ON CE.id_cidade = C.id_cidade) INNER JOIN estados E ON C.id_estado = E.id_estado "

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo

 

tem que especificar de qual tabela esta selecionando

 

mas no caso pode ser de qualquer uma pois sao relacionadas

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon e Mário deu certo, o nome da cidade com o link agora está sendo listado.

 

As cidades estão sendo listadas assim:

 

SaoPauloCampinasBeloHorizonte, toda unidas, em que parte do html eu altero para que elas possam ser listadas uma abaixo da outra?

 

O campo estado desta mesma página está apresentando este erro:

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: 'rsDados'

 

/cidades/paginacao.asp, line 105

 

 

Obrigado por toda a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao final de cadao uma tem de concatenar um <br>

 

deve ser aqui

 

response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a>"

ponha o br no fim

 

response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw, Mário, deu certo...

 

Cidades que tem ascento no nome está aprecendo um quadradinho no lugar do ascento... existe algum tratamento pra exibir ascentos?

 

Continuo com este erro:

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: 'rsDados'

 

/cidades/paginacao.asp, line 105

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tem na linha 105?

 

Sobre a acentuação, coloca a linha abaixo no inicio da página executada e posta o resultado.

Response.Charset="ISO-8859-1"

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, deu certo...

resolveu o problema dos ascentos no texto...

 

Na linha 105 deveria exibir o estado... só aparece a cidade na página, aonde deveria exibir o estado aparece este erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: 'rsDados'

 

/cidades/paginacao.asp, line 106

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se entendi bem, eu faria da seginte forma:

 

dentro da tgabela Cidades eu colorcaria um campo a amis:

Campos: id_cidade / id_estado / cidade / id_escolas_cadastradas

 

Na intrução select coloca para loopar somente escolas encontradas neste campo.

 

Quando for cadastrar você faz assim:

instruçãp de inserção

após inserção na tabela escola cadastradas faz no instrução para pegar id cadastrado e colocar na coluna id_escolas_cadastradas.

assim quando for loopar faz uma instrução select para selecionar todos os ids cadastrados e compara na tabela Cidade na coluna id_escolas_cadastradas.

Tendeu?

Qualquer coisa posta ae, to com saudade do forum.RSRS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código a linha que dar erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da erro nesta linha:

 

<%=rsDados("estado")%>

 

Veja código mais completo, linha em negrito do erro.

 

<%
if not rsDados.eof then
	while not rsDados.eof
		response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
		rsDados.movenext
	wend
end if
rsDados.close
set rsDados = nothing
%>
	</td>
	<td id="Dados"> 
	  <%=rsDados("estado")%> 'linha 106
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if   
	Wend  
  %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você fecha o objeto:

rsDados.close

set rsDados = nothing

 

E chama ele logo abaixo...

rsDados("estado")

 

Fecha ele após

wend

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.