Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Freitas

Listar Resultados

Recommended Posts

[/code]Olá pessoal, sou iniciante em ASP e tenho a seguinte dúvida:

 

Como faço pra listar os dados armazenados no banco?

 

Exemplo:

 

A página tem uma função "Select" da seguinte forma -

"SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url;"

Quero que meus resultados apareçam dentro de uma tabela tipo:

 

____________________________

|ID Cliente | URL |

|1 | www.url1.com |

|2 | www.url2.com |

|3 | www.url3.com |

|___________________________ |

 

 

Como posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que usar uma estrutura de repetição, nesse caso pode ser o while, desta forma

 

 

 

do while not rs.eof 'enquanto o recordset não chegar no fim response.write(rs("url")) 'exibe os dados no recordsetresponse.write("<br>")'adiciona a tag <br> do html para gerar uma nova linhars.movenext'move para o proximo registro do recordsetloop'se ainda não chegou no fim, então repete desde o while
não esqueça de executar o recorset antes do do while!

Compartilhar este post


Link para o post
Compartilhar em outros sites

AI ACHO Q ISSO VAI RESOLVER PRA você

 

 

<%SQL = "SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url"SET RS = CONEXÃO.EXECUTE(SQL)%><table width="100%" border="0" cellspacing="0" cellpadding="0">  <tr> 	<td>ID</td>	<td>URL</td>  </tr>  <% DO WHILE NOT RS.EOF %>  <tr> 	<td><% = RS("id_cliente")%></td>	<td><% = RS("URL")%></td>  </tr>  <%  RS.MOVENEXT : LOOP  %></table>

FALOU TÉ MAIS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow Diego, pelas tags htm é isso mesmo, mas ele está me retornando o seguinte erro:

 

Erro de compilação do Microsoft VBScript (0x800A0408)

Caractere inválido

/im_asp/clientes/area.asp, line 18, column 14

SET RS = CONEXÃO.EXECUTE(SQL)

 

eu não manjo nadah de ASP, se der, me dá uma luz, dá uma explicada nesse código p mim^^!

 

Meu código ficou assim:

 

<%'String de conexão com o bancoDim objConn, objRs, strQuery, strConnection, id_cliente, id_repot, url, strDBPath, RSSet objConn =  Server.CreateObject("ADODB.Connection")strDBPath = Server.MapPath("contato.mdb")objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"%><%SQL = "SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url"SET RS = CONEXÃO.EXECUTE(SQL)%><table width="100%" border="0" cellspacing="0" cellpadding="0">  <tr> 	<td>ID</td>	<td>URL</td>  </tr>  <% DO WHILE NOT RS.EOF %>  <tr> 	<td><% = RS("id_cliente")%></td>	<td><% = RS("URL")%></td>  </tr>  <%  RS.MOVENEXT : LOOP  %></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

AHH SIM CARA ESSE CONEXÃO AI É O NOME DA CONEXÃO COM O SEU BANCO DE DADOS

EU COLOKEI CONEXÃO PRA PRA você SABER

 

 

TA LA EM

 

SET RS = CONEXÃO .EXECUTE(SQL)

 

você SO VAI SUBISTITUIR ESSE NOME "CONEXÃO" PELO NOME Q você DEU PRA SUA CONEXÃO COM O BANCO ENTENDEU??

 

TÉ MAIS

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%'String de conexão com o bancoDim objConn, objRs, strQuery, strConnection, id_cliente, id_repot, url, strDBPath, RSSet objConn =  Server.CreateObject("ADODB.Connection")strDBPath = Server.MapPath("contato.mdb")objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"%><%SQL = "SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url"SET RS = objConn.EXECUTE(SQL)%><table width="100%" border="0" cellspacing="0" cellpadding="0">  <tr> 	<td>ID</td>	<td>URL</td>  </tr>  <% DO WHILE NOT RS.EOF %>  <tr> 	<td><% = RS("id_cliente")%></td>	<td><% = RS("URL")%></td>  </tr>  <%  RS.MOVENEXT : LOOP  %></table>

coloque esse que deve funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

EXPLICANDO O CÓDIGO

 

 

AQUI CARA DA UMA OLHADA IA E V SE ENTENDE OK

 

<%

'AQUI O ESTAMOS ATRIBUINDO PARA UMA VARIAVE SQL TUDO O Q ESTA DENTRO DAS "ASPAS" OK

SQL = "SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url"

 

'AQUI ESTAMOS EXECUTANDO O BANCO DE DADOS COM AS INFORMAÇOES ATRIBUIDA PARA O SQL

'AQUI TMBM CRIA UMA RECORTSET

SET RS = CONEXÃO.EXECUTE(SQL)

%>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td>ID</td>

<td>URL</td>

</tr>

<%

'AQUI ESTAMOS FAZENDO UM LAÇO DE REPETIÇÃO ATÉ O FIM DO ARQUIVO EOF (END OF FILE)

DO WHILE NOT RS.EOF

 

%>

<tr>

<td><% = RS("id_cliente")%></td>

<td><% = RS("URL")%></td>

</tr>

<%

 

'AQUI MOVE PARA O PROXIMO REGISTRO DO BANCO E FAZ O LOOP ALI EM CIMA (RS("URL E ID_CLIENTE")) É OS VALORES RECEBIDOS PELO RECORTSET

 

RS.MOVENEXT : LOOP

%>

</table>

ENTENDEU GAROTO!!!

 

TÉ MAIS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo! \o/ É esse o lance...Agora, a outra coisa que tentei fazer é o segunte:Tenho um form de login, o form "login.asp" envia o nome e a senha do usuário para o arquivo "logar.asp" que verifica os dados no banco e libera o acesso para a página protegida "area.asp". Eu preciso de alguma forma, capturar o "id_cliente" do cliente logado e enviar para essa "area.asp", onde está o código que vcs me ajudaram a mexer... como posso pegar esse valor e jogar numa variável? como posso pegar essa variável e jogar para "area.asp"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

intão cara deu certo aquele??intaum pra isso q você ta pedindo agora é o seguinte...naum hora q você passar os valores pra pagina logar você tem q ver no banco se o login e a senha são validos se sim você vai tem q criar um cookie com o nome do usuario e em todas as paginas você vai ter q comparar o usuario logado com o coockie e tmbm criar uma sessão pra eles ok

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, já criei a página de login, ela já está funcionando.

 

Meu script que compara os dados enviados com o banco é esse aki:

 

<%Dim contato,senha,conexao,constr,rscontato = request.Form("contato")senha = request.Form("senha")set conexao = createobject("AdoDb.connection")constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("contato.mdb")conexao.open constrset rs = conexao.execute("SELECT * FROM clientes WHERE contato='"&contato&"' AND senha='"&senha&"'")if rs.eof thenresponse.Redirect("errou.asp")elseresponse.Cookies("logado")=loginresponse.cookies("logado").expires="31/12/2010"'response.Redirect ""& rs("area.asp")response.Redirect("area.asp")end if%>

Já criei o coopkie "login", como posso criar a session agora? e como envio essa session pra outra pág?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para criar session:session("nomdasession') = valorexemplosession("usuario")="joao" para recuperar o valor da session:variavel=session("nomedasession")exemplo:strNomeusuario=session("usuario")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela dica Jonathan, mas acho que fiz algo errado, não consigo filtrar por essa variável de jeito nenhum... Olha o bloco como está:

 

'Crio o cookie com o nome do contatoresponse.Cookies("logado")=contatoresponse.cookies("logado").expires="31/12/2010"'Crio a variável id_clienteDim id_cliente'Digo que o conteúdo de id_cliente é o que está no bancoid_cliente = RS("id_cliente")'Crio a session - sid_clientesession("sid_cliente") = id_cliente

na página que recebe ficou assim:

 

<%'Recupero a sessionid_cliente = session("sid_cliente")'Faço a busca no bancoSQL = "SELECT * FROM reports WHERE id_cliente = id_cliente ORDER BY url"SET RS = objConn.EXECUTE(SQL)%><div align="center"><img src="logo.jpg" width="250" height="99"> </div><table width="70%" border="0" align="center" cellpadding="0" cellspacing="0" class="t01">  <tr> 	<td bgcolor="#FFFFCC"><em><strong>Selecione o mês para extrato</strong></em></td>  </tr>  <% DO WHILE NOT RS.EOF %>  <tr> 	<td> 	 <em>	  <strong> 	   <a href="<% = RS("URL")%>">		<% = RS("mes")%>	   </a>	  </strong>	 </em> </td>  </tr>  <%  RS.MOVENEXT : LOOP  %></table>

id_cliente é justamente o que eu uso pra filtrar a busca, mas mesmo assim ele exibe todos os resultados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, to postando pra agradecer ao meu amigo Diego Taubaté, graças a ajuda dele consegui concluir meu projeto.

 

Segue abaixo o código de validação e seleção de resultados da minha página.

 

logar.asp

 

<%'Esta página recebe o login e senha de um form'e faz a validação no banco.'Aqui, declaramos as variáveisDim contato,senha,conexao,constr,rs'Aqui, recebemos os dados recebidos pelo form e gravamos nas respectivas variáveiscontato = request.Form("contato")senha = request.Form("senha")'Aqui, fazemos a conexão com o banco...set conexao = createobject("AdoDb.connection")constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("contato.mdb")conexao.open constr'...e aqui validamos o loginset rs = conexao.execute("SELECT * FROM clientes WHERE contato='"&contato&"' AND senha='"&senha&"'")'se a busca chega ao final da tabela sem sucesso então...if rs.eof then'... o usuário é redirecionado a uma página de erroresponse.Redirect("errou.asp")'senão...else'caso haja sucesso, criamos um cookie "logado"response.Cookies("logado")=login'determinamos quando o cookie vai expirarresponse.cookies("logado").expires="31/12/2010"'e agora redirecionamos para a página protegida'enviando o código que será usado na pesquisa da 'próxima página '?cod="&rs("id_cliente")&"'response.Redirect("area.asp?cod="&rs("id_cliente")&"")end if%>

area.asp

'Esta é a página protegida que filtra os 'dados referentes ao cliente atravéz de um'atributo recebido da "logar.asp<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><%'Este script evita que a página seja acessada sem 'o usuário estar logadocod = request.QueryString("cod")If Request("HTTP_REFERER") = "" Then  response.Redirect("errou.asp") Response.EndEnd If%><link rel="stylesheet" href="style.css"><%'Conectando com o banco...Dim objConn, objRs, strQuery, strConnection, id_cliente, id_repot, url, strDBPath, RSSet objConn =  Server.CreateObject("ADODB.Connection")strDBPath = Server.MapPath("contato.mdb")objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"%><%'Aqui, usamos um SELECT para filtrar os dados do 'usuário, utilizando o parâmetro recuperado da 'página anterior '?cod="&rs("id_cliente")&"'SQL = "SELECT * FROM reports WHERE id_cliente = "&cod&" ORDER BY url"SET RS = objConn.EXECUTE(SQL)%><div align="center"><img src="logo.jpg" width="250" height="99"> </div><table width="70%" border="0" align="center" cellpadding="0" cellspacing="0" class="t01">  <tr> 	<td bgcolor="#FFFFCC"><em><strong>Código</strong></em></td>	<td bgcolor="#FFFFCC"><em><strong>Selecione o mês para extrato</strong></em></td>  </tr>  <% DO WHILE NOT RS.EOF %>  <tr> 	<td> 	 <em>	  <strong> 	   <% = RS("id_cliente")%>	  </strong>	 </em> </td>	<td> 	 <em>	  <strong> 	   <a href="<% = RS("URL")%>">		<% = RS("mes")%>	   </a>	  </strong>	 </em> </td>  </tr>  <%  RS.MOVENEXT : LOOP  %></table>
É isso aí pessoal, muitíssimo obrigado pela força!

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.