Ir para conteúdo
Fórum Script Brasil
  • 0

Exibindo Informações do Banco de Dados


Legionáriors

Pergunta

Posts Recomendados

  • 0

Ao invés de você usar as tags das tabelas assim você pode montar uma tabela "propriamente dita" entre o loop, colocando em cada celula da tabela os response.write rs ("...") correspondentes...

desta forma ficará bem mais visual para se trabalhar...

um exemplo bem simples seria:

<%
'declarando objetos
dim sql, objConn, rs


SET objConn = Server.CreateObject("AdoDB.Connection")
objConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\Inetpub\wwwroot\Sites\Projeto Lojas Adri\banco\loja.mdb"
sql = "SELECT TOP 6 * FROM produtos"

Set rs = objConn.Execute(sql)

%>

<table>
<tr>
<td>imagens</td>
<td>campo1</td>
<td>campo2</td>
</tr>
<%'iniciamos o loop´
while not rs.eof%>
<tr>
<td><img src='images/<%response.write rs ("imagem")%>' border="0"/></td>
<td><%response.write rs("nome do seu campo do bd")%></td>
<td><%response.write rs("nome do seu campo do bd")%></td>
</tr>
</table>



<%
'terminamos o loop
rs.movenext
wend


rs.close

set rs=nothing

%>

sacou? agora consegues ver a tabela no seu editor como dreamweaver por exemplo, fica mais facil de trabalhar o posicionamento dos registros...

[]'s Rafael Spilki

Editado por Rafael Spilki
Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Rafael,

beleza cara é isso mesmo ontem apanhei um pouco mas consegui aproximar do que eu preciso. Só falta uma coisa pra ficar perfeito.

Por exemplo eu quero clicar em um link digamos um link chamado Audio por exemplo. Tem como este link chamar a página de exibição dos produtos que nós fizemos mas só com os produtos do departamento Audio? Agora está mostrando produtos aleatórios

Não sei se vais me entender mas é isso!

Segue o código...

<%
'declarando objetos
dim sql, objConn, rs

SET objConn = Server.CreateObject("AdoDB.Connection")
objConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\Backup\Sites\Projetos\Projetos em Aberto\Projeto Lojas Adri\banco\loja.mdb"
sql = "SELECT TOP 9 * FROM produtos ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"

Set rs = objConn.Execute(sql)

'numero de colunas
col=3

if not rs.eof then

' esta var armazena o numero de colunas

colu=1

'começamos a tabela
response.write "<table><tr><td>"

'iniciamos o loop´
while not rs.eof

%>
<table width="100%" border="0" cellspacing="10" cellpadding="5">
  <tr>
    <td width="567"><center><a href="emconstrucao.htm" target="tec"><img src='images/<%response.write rs ("imagem")%>' width="130" height="130" border="0"/></a></tr>
  <tr><p>
    <td><center><font face="verdana" size="2" color="black"><b><%response.write rs ("nome")%><b></td></tr>
    <td><center><font face="verdana" size="2" color="red"><b>Valor: R$ <%response.write rs ("preço")%>,00</b></td>
  </tr>
</table>
<%

'fazemos  a contagem das colunas e se tiver no limite faz outra linha
if colu=col then
response.write "</td><tr><td>"

'reinicia contagem
colu=1

else

' como não alcançou o limite fazemos outra coluna
response.write "</td><td>"

'somamos +1 na variavel colu
colu=colu+1

end if

'terminamos o loop
rs.movenext
wend

response.write "</td></tr></table>"

end if
rs.close

set rs=nothing

%>

Abraço e bom domingo!

Link para o comentário
Compartilhar em outros sites

  • 0

Então... claro que tem... na página anterior você faz um form e coloca ali um list/menu chamado cmbProdutos...

O user vai escolher uma opção neste list/menu e logo depois vai submeter o form...

você resgada o valor do form antes de qualquer coisa desta forma:

produto = request.form ("cmbProdutos")
no seu select você coloca assim:
sql = "SELECT TOP 9 * FROM produtos where produtos = "'&produto&'" ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"
sacou? vamos a um exemplo simples: pagina html que antecederá esta da consulta:
<%@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>Untitled Document</title>
</head>

<body>
<form method="post" action="sua_pagina_consulta.asp" name="form">
<select name="cmbProdutos" id="cmbProdutos">
  <option>carros</option>
  <option>motos</option>
  <option>computadores</option>
</select>
</form>

</body>
</html>
pagina onde imprimirá os resultados da consulta em tela:
<%
'declarando objetos
dim sql, objConn, rs
produto = request.form ("cmbProdutos")
SET objConn = Server.CreateObject("AdoDB.Connection")
objConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\Backup\Sites\Projetos\Projetos em Aberto\Projeto Lojas Adri\banco\loja.mdb"
sql = "SELECT TOP 9 * FROM produtos where campo_do_seu_bd= "'&produto&'" ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"

Set rs = objConn.Execute(sql)

'numero de colunas
col=3

if not rs.eof then

' esta var armazena o numero de colunas

colu=1

'começamos a tabela
response.write "<table><tr><td>"

'iniciamos o loop´
while not rs.eof

%>
<table width="100%" border="0" cellspacing="10" cellpadding="5">
  <tr>
    <td width="567"><center><a href="emconstrucao.htm" target="tec"><img src='images/<%response.write rs ("imagem")%>' width="130" height="130" border="0"/></a></tr>
  <tr><p>
    <td><center><font face="verdana" size="2" color="black"><b><%response.write rs ("nome")%><b></td></tr>
    <td><center><font face="verdana" size="2" color="red"><b>Valor: R$ <%response.write rs ("preço")%>,00</b></td>
  </tr>
</table>
<%

'fazemos  a contagem das colunas e se tiver no limite faz outra linha
if colu=col then
response.write "</td><tr><td>"

'reinicia contagem
colu=1

else

' como não alcançou o limite fazemos outra coluna
response.write "</td><td>"

'somamos +1 na variavel colu
colu=colu+1

end if

'terminamos o loop
rs.movenext
wend

response.write "</td></tr></table>"

end if
rs.close

set rs=nothing

%>

Era isso?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Mas precisa necessáriamente ser um form? Não pode ser um link simples?

porque já tenho uma página com os links e queri clicar no link a que este link direcionasse para a página de consulta só com os produtos da categoria clicada.

Vou colocar o código da página dos links pra você ver como está.

<%
Dim lojaDB
set lojaDB = Server.CreateObject("ADODB.Connection")
lojaDB.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\Backup\Sites\Projetos\Projetos em Aberto\Projeto Lojas Adri\banco\loja.mdb"
lojaDB.open
%>
<center>
<table class=topo border=0 width=200% cellpadding=0 cellspacing=5>
    <td align=left width=100%><p>
    <form action=listaprod.asp method=query>
    <font face="verdana" size="2"><b>
        
        <a class=linktop href="cadastro.asp" target="tec"><img src="images\cadastro.gif" alt="Cadastro" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\audio.gif" alt="Audio" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\celulares.gif" alt="Celulares" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\cineefoto.gif" alt="Cine e Foto" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\eletrodomesticos.gif" alt="Eletrodomésticos" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\eletroportateis.gif" alt="Eletroportáteis" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\esporte_laser.gif" alt="Esporte e Laser" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\informatica.gif" alt="Informática" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\moveis.gif" alt="Móveis" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\telefonia.gif" alt="Telefonia" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\ud.gif" alt="Utilidades Domésticas" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\video.gif" alt="Vídeo" border="0"/></a>
        <a class=linktop href="capa_departamentos.asp" target="tec"><img src="images\ofertas.gif" alt="Ofertas" border="0"/></a>

        <input type=hidden name=lista value=busca>
        </form></p>
    </td>
</tr>
</table>

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, pode ser so o link, sim...

como montar este link é a dúvida que não quer calar! Vou lhe ensinar aqui uma forma que dará certo, mas que certamente não é a tecnica mais adequada... para usar a tecnica adequada você terá que aprimorar bastante seus conhecimentos... mas a forma abaixo, acredito que lhe ajudará a entender bastante da logica desta programação, ok?

Faça assim, apenas para testes monte o form como eu lhe sugeri... inclusive eu esqueci de botar ali um botão de submit... mas é so você por...

dai faz assim, selecione uma opção e clique em submit... vais notar que aparecerá um link "maluco" ali na barra de endereços do seu navegador... aquele link ali irá obedecer a mesma logica para todos os outros produtos, copie ele, cole ele aonde você achar necessário... pronto seu link direto estará criado... e nos outros produtos?!? apenas modifique o que for necessário... se não conseguir sacar a lógica, repita isso com todos os links...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Rafael,

Tá dando o seguinta erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe (operador faltando) na expressão de consulta 'produtos ='.

/Projetos/Projetos em Aberto/Projeto Lojas Adri/banco/consulta.asp, line 9

A linha:

Set rs = objConn.Execute(sql)

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

ops... a pressa é triste... erro meu!

<%
'declarando objetos
dim sql, objConn, rs
produto = request.form ("cmbProdutos")
SET objConn = Server.CreateObject("AdoDB.Connection")
objConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\Backup\Sites\Projetos\Projetos em Aberto\Projeto Lojas Adri\banco\loja.mdb"
sql = "SELECT TOP 9 * FROM produtos where campo_do_seu_bd= '" & txtNome & "' ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"

Set rs = objConn.Execute(sql)

'numero de colunas
col=3

if not rs.eof then

' esta var armazena o numero de colunas

colu=1

'começamos a tabela
response.write "<table><tr><td>"

'iniciamos o loop´
while not rs.eof

%>
<table width="100%" border="0" cellspacing="10" cellpadding="5">
  <tr>
    <td width="567"><center><a href="emconstrucao.htm" target="tec"><img src='images/<%response.write rs ("imagem")%>' width="130" height="130" border="0"/></a></tr>
  <tr><p>
    <td><center><font face="verdana" size="2" color="black"><b><%response.write rs ("nome")%><b></td></tr>
    <td><center><font face="verdana" size="2" color="red"><b>Valor: R$ <%response.write rs ("preço")%>,00</b></td>
  </tr>
</table>
<%

'fazemos  a contagem das colunas e se tiver no limite faz outra linha
if colu=col then
response.write "</td><tr><td>"

'reinicia contagem
colu=1

else

' como não alcançou o limite fazemos outra coluna
response.write "</td><td>"

'somamos +1 na variavel colu
colu=colu+1

end if

'terminamos o loop
rs.movenext
wend

response.write "</td></tr></table>"

end if
rs.close

set rs=nothing

%>

agora vai...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

arrume o seu select:

sql = "SELECT TOP 9 * FROM produtos where campo_do_seu_bd= '" & txtNome & "' ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"

compo_do_seu_bd é onde devrá estar o registro que tenha exatamente o mesmo nome que vem do listmenu...;

se no list/menu você selecionou carros por exemplo... nesse_campo_do_bd terá que ter carros... sacou?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

assim não deu?

bc trocou:

campo_do_seu_bd pelo nome do campo e txtNome por produto?

tente assim e veja se continua não funcionando:

sql = "SELECT TOP 9 * FROM produtos where campo_do_seu_bd LIKE '%" &produto& "%' ORDER BY Rnd(Int(Now()*[cat_id])-Now()*[id])"

[]'s Rafael Spilki

Editado por Rafael Spilki
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,4k
    • Posts
      652,1k
×
×
  • Criar Novo...