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

Mostrando informações do banco de dados


Legionáriors

Pergunta

Boa noite pessoal do Fórum, mais uma vez venho recorrer a vocês para resolver um problema (para mim) relativo a banco de dados

Então aí vai...

Tenho um código que com a ajuda de vocês e principalmente do Rafael consegui botar para funcionar então neste script há um link que eu gostaria de faze-lo exibir algumas informações que estão no meu banco de dados e não consigo. Espero poder contar com a ajuda de vocês. Abraço a todos.

<%
'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 6 * FROM produtos ORDER BY Rnd(Int(Now()*[id])-Now()*[cat_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="150" height="150" 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

%>

Fazer este link <a href="emconstrucao.htm" target="tec"> verificar as informações e exibilas na tela.

Editado por Legionáriors
Link para o comentário
Compartilhar em outros sites

23 respostass a esta questão

Posts Recomendados

  • 0

Oi Legionários, tudo numa boa? To vendo aí que você conseguiu cara... Parabéns...

Deixa eu ver se entendi pra tentar te ajudar nesse link, ok?

Tipo... essa página apresenta tipo um resumo de produtos ou notícias é isso? e daí você quer um link que ao clicar mostre os detalhes desse produto ou dessa notícia? É isso que você precisa?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Opa... posso sim...

Cara... essa pagina: paginaemconstrucao.htm é lá que você quer exibir o detalhamento? você já fez alguma coisa nessa página ou não começou ela ainda?

Que tipo de informações e de onde vão vir essas informações que você quer exibir? tipo, vem do BD certo? mas de qual tabela? da mesma dabela da página atual?

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

beleza,

Então,

A paginaemconstrucao.htm é só para não deixar vazio. Não tenho nada iniciado tem que ser criada uma outra página onde seja mostrado o detalhamento. As informações que aparecerão são Imagem, Descrição, Preço e Condições. MAis um link de retorno a página inicial. As imformações vem de uma tabela chamada produtos que consta no DB e nesta tabela produtos existem os campor que quero exibir. As tabelas podem ser descritas como coloquei acima só como exemplo mesmo depois eu altero.

Bem acho que é isso... ufa...

Abraço.

Tenho uma página que pode servir de base não sei eu tentei e não consegui adaptar.

Segue...

<table border=0 width=100% height=40%>
<tr valign=top>
<%
Dim prod_id,prod_nome,prod_descricaog,prod_descricaoh,prod_preco,prod_imagem,prod_detalhe,url_comp
prod_id = Request.querystring("prod_id")
url_comp = Server.UrlEncode(Request.querystring("url_comp"))
set prod_detalhe = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = prod_detalhe("nome")
prod_descricaog = prod_detalhe("descricaog")
prod_descricaoh = prod_detalhe("descricaoh")
prod_preco = prod_detalhe("preço")
prod_imagem = prod_detalhe("imagem")
prod_detalhe.Close
set prod_detalhe = Nothing
%>
    <td><h5><%=prod_nome%></h5>
    <img src=./images/<%=prod_imagem%> border=0>
    <p><%=prod_descricaog%></p>
    <p><%=prod_descricaoh%></p>
    <p><b>Valor: R$ <%=formatnumber(prod_preco,2)%></b></p>
    <p><form action=./carrocompras.asp method=get>
        <input type=hidden name=acao value=incluir>
        <input type=hidden name=prod_id value=<%=prod_id%>>
        <input type=hidden name=url_comp value="<%=url_comp%>">
        </form>
        </p>
        <p align=center><a href="<%=Request.ServerVariables("HTTP_REFERER")%>">Voltar</a></p>
    </td>
</tr>
</table>

Link para o comentário
Compartilhar em outros sites

  • 0

Então... vou te explicar meio que na teoria... e tipo, você adapta para a sua necessidade, ok?

Pra detalhar esse produto você vai ter que ter algo no BD que seja especificamente deste produto... normamente se trabalha aqui com o ID do produto... porque fica mais fácil e menos risco de confusão com outro produtos...

Neste caso... você pode passar o id via querystring e depois fazer com o id o que você bem entender na outra página...

Mas pode ser tb com o nome do produto ou qualquer outra coisa... mas tipo... pra não dar confusão tem que ser alguma informação que só esse produto tenha!

o link ficaria mais ou menos assim:

http://www.seusite.com.br/pagina.asp?id=9
pra fazer esse link dinamicamente basta você fazer algo do tipo:
<a href="pagina.asp?id=<%=rs("id")%>" target="_top"><%=nome_do_campo_do_bd%></a>
'nome_do_campo_do_bd = nome que aparecerá no seu link!
depois nessa página.asp você recupera o id assim:
id = request.querystring("id")

daí você faz o que bem entender com esse id... consultas e etc!

Não sei se consegui me fazer entender... todo caso, qualquer coisa posta aí!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Cara... proponho fazermos um específico para sua necessidade, o que acha?

Coloque aqui exatamente as infs que você quer exibir e como, ok? Derepente monte o layout de uma tabela e poste aqui... depois completamos ela com as infs do bd! o que acha?

[]'s Rafael Spilki

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

  • 0

Ok,

Te perguntei isso porque esse código que te falei já está em uso no site do meu cliente e exibe exatamente as informações que eu preciso + ou - assim:

Nome do Produto

Imagem do produto

Preço do produto

condições de pagamento

link que volta ao painel de produtos

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

então melhor ainda...

mas tipo... nesse codigo abaixo:

<table border=0 width=100% height=40%>
<tr valign=top>
<%
Dim prod_id,prod_nome,prod_descricaog,prod_descricaoh,prod_preco,prod_imagem,prod_de
talhe,url_comp
prod_id = Request.querystring("prod_id")
url_comp = Server.UrlEncode(Request.querystring("url_comp"))
set prod_detalhe = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = prod_detalhe("nome")
prod_descricaog = prod_detalhe("descricaog")
prod_descricaoh = prod_detalhe("descricaoh")
prod_preco = prod_detalhe("preço")
prod_imagem = prod_detalhe("imagem")
prod_detalhe.Close
set prod_detalhe = Nothing
%>
    <td><h5><%=prod_nome%></h5>
    <img src=./images/<%=prod_imagem%> border=0>
    <p><%=prod_descricaog%></p>
    <p><%=prod_descricaoh%></p>
    <p><b>Valor: R$ <%=formatnumber(prod_preco,2)%></b></p>
    <p><form action=./carrocompras.asp method=get>
        <input type=hidden name=acao value=incluir>
        <input type=hidden name=prod_id value=<%=prod_id%>>
        <input type=hidden name=url_comp value="<%=url_comp%>">
        </form>
        </p>
        <p align=center><a href="<%=Request.ServerVariables("HTTP_REFERER")%>">Voltar</a></p>
    </td>
</tr>
</table>

você precisa apenas limitar então de acordo com o id... é isso?

Mas existe mesmo esse campo de id? é esse aqui: prod_id = Request.querystring("prod_id") ?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Vou te mostrar a página anterior a esta pra você ver se identifica de onde ven mas pelo que eu olhei não precisa deste prod_ . E o que vem depois deste prod_ é o campo do DB.

<%
Dim lista,cat_id,cat_nome,nome,lista_produtos,msgnada
lista=Request.querystring("lista")
cat_id=Request.querystring("cat_id")
cat_nome=Request.querystring("cat_nome")
nome=Request.querystring("nome")
%>
<table border=0 width=100%><tr width=100%><td width=100% valign=top><h5><%=cat_nome%></h5></td></tr>
<%
Select Case lista
Case "categoria"
    set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome")
    msgnada = "No momento não dispomos de nenhum produto neste departamento."
Case "busca"
    set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR preço LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
    msgnada = "Infelizmente não localizamos nenhum produto com esse nome."
Case Else
    %>
    <script>window.location="./index.asp"</script>
    <%
End Select
If lista_produtos.EOF Then 
    Response.Write "<tr><td><h5>" & msgnada & "</h5></td></tr>"
Else 
%>
    <tr width=100%><td width=100%><table border=1 width="100%">
    <tr><th>Imagem</th><th>Produto</th><th>Preço</th><th>Detalhes</th></tr></thead></tr>
    <%
    Dim prod_cat_id,prod_id,prod_imagem,prod_descricaop,prod_preco,malha1
    malha1 = "sim"
    while not lista_produtos.EOF
        prod_cat_id = lista_produtos("cat_id")
        prod_id = lista_produtos("id")
        prod_imagem = lista_produtos("imagem")
        prod_descricaop = lista_produtos("descricaop")
        prod_preco = lista_produtos("preço")
        %>                  
        <tr width=100% valign=top class=<%=malha1%>><td><center><a href="./detalheprod.asp?prod_id=<%=prod_id%>&url_comp=<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>"><img src=./images/<%=prod_imagem%> width="30" height="30" border=0></td><td><%=prod_descricaop%></td><td>R$ <%=formatnumber(prod_preco,2)%></td>
            <td valign=top align=center>
            <a href="./detalheprod.asp?prod_id=<%=prod_id%>&url_comp=<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>"><img src="./images/lupa.gif" border=0></a>
            </td> 
            </td>
        </tr>
        <%
        lista_produtos.movenext
        If malha1 = "sim" Then malha1 = "não" Else malha1 = "sim" End If
    wend
End If
lista_produtos.Close
set lista_produtos = Nothing
%>
</table></td></tr>
</table>

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos por partes:

Minhas dúvidas aqui são:

1)você tem no bd um campo com id dos produtos? Se sim, qual o nome desse campo? Seria prod_id?

2) esse codigo que você postou e eu estou repetindo abaixo (para não haver confusão), imprime em tela os dados que você precisa? porque reparei que esse seu código já faz um select do produto apenas pelo id do produto... não seria então o caso de fazermos o link redirecionar para esta página e pronto?

<table border=0 width=100% height=40%>
<tr valign=top>
<%
Dim prod_id,prod_nome,prod_descricaog,prod_descricaoh,prod_preco,prod_imagem,prod_de

talhe,url_comp
prod_id = Request.querystring("prod_id")
url_comp = Server.UrlEncode(Request.querystring("url_comp"))
set prod_detalhe = lojaDB.Execute("SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'")
prod_nome = prod_detalhe("nome")
prod_descricaog = prod_detalhe("descricaog")
prod_descricaoh = prod_detalhe("descricaoh")
prod_preco = prod_detalhe("preço")
prod_imagem = prod_detalhe("imagem")
prod_detalhe.Close
set prod_detalhe = Nothing
%>
    <td><h5><%=prod_nome%></h5>
    <img src=./images/<%=prod_imagem%> border=0>
    <p><%=prod_descricaog%></p>
    <p><%=prod_descricaoh%></p>
    <p><b>Valor: R$ <%=formatnumber(prod_preco,2)%></b></p>
    <p><form action=./carrocompras.asp method=get>
        <input type=hidden name=acao value=incluir>
        <input type=hidden name=prod_id value=<%=prod_id%>>
        <input type=hidden name=url_comp value="<%=url_comp%>">
        </form>
        </p>
        <p align=center><a href="<%=Request.ServerVariables("HTTP_REFERER")%>">Voltar</a></p>
    </td>
</tr>
</table>

Não sei se to conseguindo me fazer entender...

agurado...

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Certo,

1) Não é prod_id é só id. Seguem os campos do meu DB por ordem de coluna: id - cat_id - nome - descricaop - descricaog - descricaoh -

preço - condicoes - imagem - disp

2) Não este código que você me mostrou faz sim o select dos produtos mas vindo de outra página que tem um link onde mostra a categoria do produto por exemplo o link Audio puxa esta segunda página que te mandei onde aparece a lintagem dos produtos daquela categoria. Nesta página tem um link em cada produto que direciona para o primeiro script que te mandei e este sim mostra os detalhes do produto.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

ok... bom... pensei aqui o seguinte... cada app tem sua lógica e eu não tenho como aqui ficar avaliando seu app e tentando entender a logica etc...

E tb o maior interesse é que você entenda e aprenda como fazer, certo?

Então pensei assim, tipo, desconsiderei os scripts que você postou e fiz um exemplinho aqui bem basicão que acho que ir´pa funcionar e você poderá adaptar da forma que preferir, ok?

Mas tipo... qualquer dúvida ou qualquer problema ou erro com esse cript quer to te passando volta aqui e posta suas dúvidas ok? porque tipo... fiz na correria mesmo... então erros são normais, ok?

você vai direcionar aquele link para esta página, que você pode chamar temporariamente de teste.asp, então vaos lá:

teste.asp

<%
Dim objConn, sql, rs, link_id
'não sei se o select é exatamente esse... se não for mude!
link_id = request.QueryString ("id")
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 * FROM produtos where id = "&(link_id)&""
Set rs = objConn.Execute(sql)%>
   
    <table width="650" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>prod_cat_id</td>
    <td> prod_id</td>
    <td>prod_imagem</td>
    <td>prod_descricaop</td>
    <td>prod_preco</td>
  </tr>
  <% while not rs.EOF
  ' caso não sejam esses campos os que quer imprimir em tela, mude no select acima o nome da tabela e mude abaixo o nome dos campos
  
  %>
  <tr>
    <td><%response.write rs("cat_id")%> </td>
    <td><%response.write rs("id")%></td>
    <td><%response.write rs("imagem")%></td>
    <td><%response.write rs("descricaop")%></td>
    <td><%response.write rs("preço")%></td>
  </tr>
</table>

        <%
       rs.movenext
    wend
rs.Close
set rs = Nothing
%>

cara... acho que era isso q você precisava... se não for, por gentileza volte a postar aqui, ok?

EDITEI porque TINHA POSTADO O SELECT COM UM ERRO!!!

[]'s Rafael Spilki

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

  • 0

Fala Legionariors...

A linha 8 pra mim é essa aqui:

Set rs = objConn.Execute(sql)%>

confere?

no seu bd... como está o campo id? texto ou número?

já pra adinatar outro lado... como ficou o seu link? posta ele pra mim?

[]'s Rafael Spilki

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

  • 0

Refael,

Cara tá funcionando bala o script agora é questão de ajustar as tabelas pra ficar como eu quero mas isso vou quebrar a cabeça um pouquinho aqui e arrumar.

Só uma coisa não está aparecendo a imagem do produto só o nome tipo: foto001.jpg

O que será que devo mudar? Tentei algumas variações aqui e não deu carto podes verificar e me ajudar novamente?

Cara valeu mesmo tá quase lá só falta o retoque final.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara consegui deixar como eu quero e resolvi o problema da imagem que mensionei acima.

Bom agora só falta uma coisa.

Como fazer funcionar o formatnumber com o response.write

No momento está desta forma a linha:

<%response.write rs("preço")%>

Quero que apareçam as duas casas depois da virgula como aparece quando está assim:

<%=formatnumber(prod_preco,2)%>

O que devo fazer?

Valeu pela ajuda amigo!!!!!!!!

Abraço.

Legionário.

Link para o comentário
Compartilhar em outros sites

  • 0
Cara consegui deixar como eu quero e resolvi o problema da imagem que mensionei acima.

Bom agora só falta uma coisa.

Como fazer funcionar o formatnumber com o response.write

No momento está desta forma a linha:

<%response.write rs("preço")%>

Quero que apareçam as duas casas depois da virgula como aparece quando está assim:

<%=formatnumber(prod_preco,2)%>

O que devo fazer?

Valeu pela ajuda amigo!!!!!!!!

Abraço.

Legionário.

Fala ai Legionáriors, so na paz?!?!?!?

cara eu acho que isso pode resolver o problema...

tenta ai.

<% = FormatCurrency(rs("prod_preco") , 2)%>

falo cara ate mais....

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Rafael,

Cara tudo na mais santa paz ainda mais agora que to finalizando esse bendito projeto.

Bom ainda preciso fazer alguns ajustes mas nada sério e ainda preciso da tua ajuda se puderes claro!.

1 - Como fazer para as imagens dos produtos não ficarem destorcidas ou seja elas tem um ajuste pré definido com width="" height="" então nem todas as imagens tem o mesmo formato será que existe uma meneira defazer com que ela se ajuste automáticamente ao table?

2 - Existe uma maneira de aumentar o tamanho do espaço do campo no banco de dados, tipo os meus campos são de 255 tentei aumentar mas o Access deu erro dizendo que não era possivel. Se você souber uma maneira te peço que me conte essa mágica.

No mais tudo as mil maravilhas amigo.

Abraço forte e bom domingo.

Legionário

Link para o comentário
Compartilhar em outros sites

  • 0

Fala meu... Cara... q bom que você esta finalizando, parabéns...

Para as imagens recomendo setar apenas a largura, deixando a altura no automático... ou vice versa... com relação a isso não tem realmente muito o que fazer...

Se precisar algo muito diferente disto terá que usar componentes, como o aspjpeg... Existem alguns inclusive com a função de "cropper" ou seja, selecionar uma parte específica dentro da imagem... mas realmente só com componentes...

para aumentar o tamanho do campo você pode ajustar o campo no access para memorando ao invés do formato texto, sacou? isso resolve...

No mais era isso... forte abraçõ e qualquer coisa posta aqui!

[]'s 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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...