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

Ajuda Na Listagem De Preços De Um Banco De Dados


djsamer

Pergunta

Olá meus amigos.

Este e o meu prmeiro poste aqui neste maravilhoso fórum, eu estou tendo o seguinte problema;

eu estou listando produtos numa página asp so que no banco de dados aonde existe a tabela de preços existe campos sem valor de preço nenhum, vasio;agora como eu faço para listar uma mensagem tipo (consulte-nos) quando o script não encontra preço dentro do campo vazio eu vou estar listando o código, ele esta funcionando prefeitamente só que eu não consegui até agora resolver este pequeno problema, o script que esta ai lista tudo normal e aonde não tem preço simplismente não lista nada.

para dar uma olhada visita o seguinte site: http://www.wtecnology.com.br/novosite

o código e:

<form name="listar" action="produtos.asp" method="post">

<%

if lista.eof or lista.bof then

Response.Write("<div align='center' class='story'><b>Desculpe-nos!!!<br>O departamento solicitado ainda esta sem dados.</b></div><div align='center' class='story'>Por favor, verifica este departamento mais tarde</div>")

else

iPageSize = 5

If Request.QueryString("page") = "" Then

iPageCurrent = 1

Else

iPageCurrent = CInt(Request.QueryString("page"))

End If

lista.Pagesize = iPageSize

if not lista.eof then

lista.cachesize = iPageSize

iPageCount = lista.PageCount

end if

If iPageCurrent > iPageCount Then iPageCurrent = iPageCount

If iPageCurrent < 1 Then iPageCurrent = 1

lista.AbsolutePage = iPageCurrent

iRecordsShown = 0

%>

<%while not lista.eof and iRecordsShown < iPageSize%>

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

<tr>

<td align="center" valign="top" height="110">

<table width="100%" height="110" align="left" border="0" cellspacing="0" cellpadding="0">

<tr>

<td align="center" valign="top" width="100" height="110"><a href="detalhando_produto.asp?product_cod=<%=lista("product_cod")%>"><img src="http://www.wtecnology.com.br/produtos/<%=lista("imagemp")%>.gif" border="0" width="90" height="90"></a></td>

<td align="left" valign="top" width="320" height="100"><font class="story"><b>Produto : </b>&nbsp;<%=lista("produto")%><br><b>Fabricante/Distribuidor : </b>&nbsp;<a href="<%=lista("urlfabricante")%>" target="_new"><%=lista("fabricante")%></a><br><b>Garantia : </b>&nbsp;<%=lista("garantia")%><br>

<% 'A listagem do preço %>

<b>Preço :<font color="#990000">R$</b><% = lista("preço") %></font>

<% 'termino da listagem do preço %>

<br><%=lista("avaliacao")%></font><br><p align="right"><a href="detalhando_produto.asp?product_cod=<%=lista("product_cod")%>"><img src="http://www.wtecnology.com.br/gif/detalhe.gif" border="0"></a>&nbsp;&nbsp;</p></td>

</tr>

<tr>

<td colspan="2" align="center" valign="top"><hr align="center" width="100%" color="#FFCC00"></td>

</tr>

</table>

</td>

</tr>

</table>

<%

iRecordsShown = iRecordsShown + 1

lista.MoveNext

Wend%>

<%

If iPageCurrent <> 1 Then%>

<a href="produtos.asp?departamento=<% = codproduto %>&page=<%= iPageCurrent - 1 %>"><img src="images/preview.png" border="0" align="absmiddle"></a>

<%

End If

if iPageCount>1 then

for i=1 to iPageCount

if i=iPageCurrent then%>

<font size="1" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;<b><%=i%></b>&nbsp;</font>

<%Else%>

<font size="1" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;<a href="produtos.asp?departamento=<% = codproduto %>&page=<%=i%>"><%=i%></a>&nbsp;</font>

<%end if%>

<%next

End if

If iPageCurrent < iPageCount Then%>

<a href="produtos.asp?departamento=<% = codproduto %>&page=<%= iPageCurrent + 1 %>"><img src="images/next.png" border="0" align="absmiddle"></a>

<%End If%>

<% End If %>

</form>

Editado: Formate seus textos usando as TAGS QUOTE e CODE para citações e trechos de códigos! Isso Facilita a Leitura!

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

15 respostass a esta questão

Posts Recomendados

  • 0

Bem, em que parte do codigo, você deseja fazer o que?

Creio que você deverá usar o IF, para resolver isso aí..

Mas, não entendi o que quer fazer.

O if, funciona basicamente assim:

If condição = verdadeiro then

response.write "Coloque alguma mensagem de erro, ou outro comando aqui"

End If

Onde as palavras em azul nunca mudam, pois são codigo asp mesmo.

O restante pode variar, conforme sua condição, e o que será feito para aquela condição.

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, em que parte do codigo, você deseja fazer o que?

Creio que você deverá usar o IF, para resolver isso aí..

Mas, não entendi o que quer fazer.

O if, funciona basicamente assim:

If condição = verdadeiro then

response.write "Coloque alguma mensagem de erro, ou outro comando aqui"

End If

Onde as palavras em azul nunca mudam, pois são codigo asp mesmo.

O restante pode variar, conforme sua condição, e o que será feito para aquela condição.

Obrigado por ter me respondido tão rápido.

que na verdade eu usei a seguinte função:

<%
If lista("preços") = "" then
Response.write("Consulte-nos")
else
response.write("<b>Preço</b>:R$" & lista("preço") & "")
end if
%>

Mais ai não deu certo, ele listou os preços e aonde que não tem preço ele não listou nada apenas ficou assim :Preço:R$ Vazio sem o reponse.write que eu solicitei ...

Link para o comentário
Compartilhar em outros sites

  • 0

também existem outros meios.....

.....

Empty 

Email = "Renato@bol.com.br" 
If IsEmpty(NomeCliente) Then 
   Response.Write "Nome do cliente não informado, por favor preencha o nome." 
End If 
If Not IsEmpty(Email) Then 
   Response.Write "O email digitado é: " & Email 
End If 

Null 

varNomeCliente = null 
varCodPedido = "123" 
If IsNull(varNomeCliente) Then 
   Response.Write "Nome do cliente não informado, por favor preencha o nome." 
End If 
If Not IsNull(varCodPedido) Then 
   Response.Write "O código do pedido é: " & varCodPedido
End If

Link para o comentário
Compartilhar em outros sites

  • 0

tente assim:

<%

If trim(lista("preços")) = "" or IsEmpty(lista("preços")) then

Response.write("Consulte-nos")

else

response.write("<b>Preço</b>:R$" & lista("preço") & "")

end if

%>

veja se funciona

Link para o comentário
Compartilhar em outros sites

  • 0
tente assim:
<%

If trim(lista("preços")) = "" or IsEmpty(lista("preços")) then

Response.write("Consulte-nos")

else

response.write("<b>Preço</b>:R$" & lista("preço") & "")

end if

%>

veja se funciona

Eu tentei fazer a tua idea mais deu na mesma ...ele lista os preços existente mais aonde que não tem preço :fica vazio:

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei usar a outra função também não deu certo ele listou a palavra preço sem preço nenhum sad.gif :

	<form name="listar" action="produtos.asp" method="post">
<%
if lista.eof or lista.bof then 
	Response.Write("<div align='center' class='story'><b>Desculpe-nos!!!<br>O departamento solicitado ainda esta sem dados.</b></div><div align='center' class='story'>Por favor, verifica este departamento mais tarde</div>")
	else
iPageSize = 5

If Request.QueryString("page") = "" Then
	iPageCurrent = 1
Else
	iPageCurrent = CInt(Request.QueryString("page"))
End If
lista.Pagesize = iPageSize
if not lista.eof then
  lista.cachesize = iPageSize
	iPageCount = lista.PageCount
end if

	If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
	If iPageCurrent < 1 Then iPageCurrent = 1

	lista.AbsolutePage = iPageCurrent

	iRecordsShown = 0 
%>
<%while not lista.eof and iRecordsShown < iPageSize%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" valign="top" height="110">
    <table width="100%" height="110" align="left" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" valign="top" width="100" height="110"><a href="detalhando_produto.asp?product_cod=<%=lista("product_cod")%>"><img src="http://www.wtecnology.com.br/produtos/<%=lista("imagemp")%>.gif" border="0" width="90" height="90"></a></td>
    <td align="left" valign="top" width="320" height="100"><font class="story"><b>Produto : </b>&nbsp;<%=lista("produto")%><br><b>Fabricante/Distribuidor : </b>&nbsp;<a href="<%=lista("urlfabricante")%>" target="_new"><%=lista("fabricante")%></a><br><b>Garantia : </b>&nbsp;<%=lista("garantia")%><br>
<%
preço = lista("preço") 
If IsEmpty(preço) Then 
  Response.Write("Consulte-nos") 
End If 
If Not IsEmpty(preço) Then 
  Response.Write "Preço: " & preço 
End If 
%>
	<br><%=lista("avaliacao")%></font><br><p align="right"><a href="detalhando_produto.asp?product_cod=<%=lista("product_cod")%>"><img src="http://www.wtecnology.com.br/gif/detalhe.gif" border="0"></a>&nbsp;&nbsp;</p></td>
  </tr>
  <tr>
  	<td colspan="2" align="center" valign="top"><hr align="center" width="100%" color="#FFCC00"></td>
  </tr>
</table>
</td>
  </tr>
</table>
	<%
iRecordsShown = iRecordsShown + 1
lista.MoveNext
Wend%>

<%
If iPageCurrent <> 1 Then%>
	<a href="produtos.asp?departamento=<% = codproduto %>&page=<%= iPageCurrent - 1 %>"><img src="images/preview.png" border="0" align="absmiddle"></a>
<%
End If

if iPageCount>1 then

for i=1 to iPageCount
	if i=iPageCurrent then%>
    <font size="1" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;<b><%=i%></b>&nbsp;</font>

	<%Else%>
    <font size="1" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;<a href="produtos.asp?departamento=<% = codproduto %>&page=<%=i%>"><%=i%></a>&nbsp;</font>
  	
	<%end if%>
<%next

End if


If iPageCurrent < iPageCount Then%>
	<a href="produtos.asp?departamento=<% = codproduto %>&page=<%= iPageCurrent + 1 %>"><img src="images/next.png" border="0" align="absmiddle"></a>
<%End If%>
<% End If %>
</form>
Aqui o código inserido :
<%
preço = lista("preço") 
If IsEmpty(preço) Then 
  Response.Write("Consulte-nos") 
End If 
If Not IsEmpty(preço) Then 
  Response.Write "Preço: " & preço 
End If 
%>

Ta meio chato esse código.

Link para o comentário
Compartilhar em outros sites

  • 0

tem alguma coisa fora de sincronia aqui então..

veja aqui:

<%

If lista("preços") = "" then

Response.write("Consulte-nos")

else

response.write("<b>Preço</b>:R$" & lista("preço") & "")

end if

%>

tá vendo no nome, no IF, e o nome na hora de mostrar?

Estao diferentes, né?

então, você compara uma variavel e manda mostrar outra.. isso ta certo?

Pois, a variavel do IF pode conter valor.. mas a variavel a ser mostrada pode estar vazia.. já que são variaveis diferentes..

Dá uma olhada nisso.. pode ser este o problema

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
tem alguma coisa fora de sincronia aqui então..

veja aqui:

<%

If lista("preços") = "" then

Response.write("Consulte-nos")

else

response.write("<b>Preço</b>:R$" & lista("preço") & "")

end if

%>

tá vendo no nome, no IF, e o nome na hora de mostrar?

Estao diferentes, né?

então, você compara uma variavel e manda mostrar outra.. isso ta certo?

Pois, a variavel do IF pode conter valor.. mas a variavel a ser mostrada pode estar vazia.. já que são variaveis diferentes..

Dá uma olhada nisso.. pode ser este o problema

Abraços

Bom ...o If lista("preços") = "" then ...

no caso e inexistente no banco de dados conforme isso pode dar erro na página ou terei que criar este variável.

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi o que você quis dizer..

eu indiquei um possível problema, porque você esta fazendo o IF com uma variavel, mas esta mostrando outra variavel abaixo.

Seu codigo deve fazer isso mesmo? ou isso é mesmo um erro?

eu imagino que no IF, deva ter o mesmo campo que você quer mostrar.. ou seja:

If lista("preço") = "" then

Mas, isso você tem que ver no seu codigo quais campos são usados, e para que são usados..

eu, daqui, sem conhecer nada do seu sistema, não tenho como dizer o que é, ou o que não é..

Certo?

Link para o comentário
Compartilhar em outros sites

  • 0
não entendi o que você quis dizer..

eu indiquei um possível problema, porque você esta fazendo o IF com uma variavel, mas esta mostrando outra variavel abaixo.

Seu codigo deve fazer isso mesmo? ou isso é mesmo um erro?

eu imagino que no IF, deva ter o mesmo campo que você quer mostrar.. ou seja:

If lista("preço") = "" then
Mas, isso você tem que ver no seu codigo quais campos são usados, e para que são usados.. eu, daqui, sem conhecer nada do seu sistema, não tenho como dizer o que é, ou o que não é.. Certo?
Sim você tem razão meu irmão o meu problema e o seguinte... Quando não tem preço do produto na tabela "preço" ele deve listar a seguinte mensagem Ex: "consulte-nos" mais se existe um preço verdadeiro na tabela "preço" ai ele deve me mostrar o valor do produto, no caso
Lista("preço") 
e a variavél para listar os preços de todos os produtos neste script 
Variavél = lista
tabela = preço

e isso que esta me deixando louco, eu não sou profissional mais eu estou tentando ser , o script que você me passou ia dar erro com certeza porque não existe tabela "preço"... porque apartir da tabela preço que estou pegando os R$ ...

Forte abraço;

Link para o comentário
Compartilhar em outros sites

  • 0

amigo, vamos por partes então, para entender.

veja os passos, para mostrar registros vindos de um banco de dados.

1- conectar ao banco

2- criar o sql, que faz SELECT no banco

3- Setar o recordset, para armazenar o resultado do select do banco

4- criar um loop, para mostrar todos os dados encontrados no select no banco

você fez todos esses passos?

Pois, ao meu entender, quando você diz:

lista("campo")

lista = variavel setada para receber o resultado do select do banco

("campo") nome do campo da tabela, onde foi feito o select

seu codigo é assim?

Se não for assim.. acho que não vou poder lhe ajudar, pois é fora do meu padrão..

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

amigo, vamos por partes então, para entender.

veja os passos, para mostrar registros vindos de um banco de dados.

1- conectar ao banco

2- criar o sql, que faz SELECT no banco

3- Setar o recordset, para armazenar o resultado do select do banco

4- criar um loop, para mostrar todos os dados encontrados no select no banco

você fez todos esses passos?

Sim até ai esta tudo certo :

no caso eu estou usando inner join também.

Sub abrelista
codproduto = request.QueryString("departamento")
Set lista = server.CreateObject("ADODB.RECORDSET")
sql = "Select produtos.*, menu_principal.* from menu_principal inner join produtos on produtos.categoria = menu_principal.menu where menu_principal.id like '" & codproduto & "'order by produtos.id desc"
lista.Open sql, conexao, 3, 3
end sub
Sub fechalista
lista.close
set lista = nothing
end sub

Ate ai esta tudo correto o código esta funcionando corretamente sem erros

Pois, ao meu entender, quando você diz:

lista("campo")

lista = variavel setada para receber o resultado do select do banco

("campo") nome do campo da tabela, onde foi feito o select

seu codigo é assim?

Ai esta tudo correto ...

como eu disse o código esta funcionando corretamente e se quiser pode dar uma olhada www.wtecnology.com.br/novosite

porque na verdade eu estou trabalhando com ele ON-line

smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, então é alguma coisa 'boba' no codigo.

começe a debugar o codigo então.

Veja se as variaveis estão com valor.. dê response.write nelas..

e vá vendo o que cada variavel esta guardando.

para parar a execução do script, coloque response.END no codigo.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Dark eu consegui resolver o problem eu fiz o seguinte :

	<%
	If IsNull(Lista("preço")) then
preço = "<font color='#FF0000' size='1'>Consulte-nos para mais informações sobre o preço.</font>"
Else
preço = "<b>Preço :</b>R$"& lista("preço")
End If
	%>
	<% = preço %>

Agora deu certo ...obrigado pela ajuda...

Link para o comentário
Compartilhar em outros sites

  • 0

Bacana Brother..

E era uma coisa simples mesmo!

Parabéns!

To fechando o tópico ...

Abraços, e até a próxima!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...