Jump to content
TeixeiraRamos

Mudar cor da fonte caso seja maior 0

Recommended Posts

Tenho uma página em ASP com bando de dados em MySQL.

Ocorre que os campos sem valor tem como resultado "0". Como existem muitos zeros (0) confunde muito a visão para ver um valor diferente de "0"

Em MySQL não tem possibilidade de tira o "0" se não o SUM não funciona (salve se existe a possibilidade e não conheço).

Dai gostaria de saber se existe a possibilidade de quando abrir a tabela (banco em MySQL) se a "td" da tabela for maior que > 0 mudar a cor.

Seria bem melhor para visualizar.

Obrigado

Share this post


Link to post
Share on other sites

Você pode tratar esse resultado de duas formas:

1 - Criar uma condição para que quando o valor do bd seja = 0, não mostrar nada ou,

2 - Criar uma classe/estilo CSS para que quando valor seja = 0, seja aplicado esse estilo.

Att.

Share this post


Link to post
Share on other sites

Public2004,

Por favor, poderia me informar onde poderia ler sobre as suas sugestões.

Que alívio com a sua informação.

Confesso que há 3 dias procurando, mas não consegui nada.

Obrigado, Saúde e Paz

Share this post


Link to post
Share on other sites

Em ambos os casos, basicamente uma condição para checar o valor e aplicar a regra, ex:

...

If resultado_bd = 0 Then ' Se resultado do banco de dados for igual a zero, então:

Response.Write("") ' Não mostra nada

Else 'Ou caso resultado diferente de 0:

Response.Write(resultado_bd) 'Mostra o valor

End If

...

Com CSS, criar um estilo para cor de fonte, tipo:

.mycolorRed {color: #ff0000;}

E na condição, a mesma ideia do exemplo acima, só que agora aplicando o estilo:

...

<tr>

<td class="<% If resultado_bd = 0 Then Response.Write("mycolorRed") %>">resultado_bd</td>

</tr>

...

Att.

Share this post


Link to post
Share on other sites

Obrigado, vou aplicar e dou o retorno.

Estou operado, se não for rápido a informação não é por falta de interesse.

Valeu mesmo!!!

Share this post


Link to post
Share on other sites


<%rs="x"

if rs=0 then

cor = "#009900"

texto="xxx"

response.Write "<font color="& cor &"> & texto & </font>"

else

cor ="#FF0000"

response.Write "<font color="& cor &"> & texto & </font>"

end if%>

Share this post


Link to post
Share on other sites

Valeu xanburzum, vou testar a sua sugestão também.

Public2004:

Fiz isso:

<%
Function cor()
	if t_jan = 0 then
		Response.Write(" ")
	Else
		Response.Write(t_jan)
end if
%>

t_jan é o meu campo que vem do bd com 0

Já tentei de diferentes formas colocar aqui:

<td align="right" width="3%"><font size="2"><%=rs("t_jan"))%></font></td>

.

.

.

<td align="right" width="3%"><font size="2"><%=rs("t_dez"))%></font></td>

Será que não vou ter problema são 12 campos de t_jan a t_dez mais o total. Como vou construir a Function

inclui todos os campos dentro do IF e depois dentro de Else?

Com CSS também não funcionou:

troquei resultado_bd prlo campo t_jan que recebe o resultado do banco de dados com 0 ou não

<style type="text/css" media="all">

.mycolorRed {
	color:#FF0000;
	}

</style>

Share this post


Link to post
Share on other sites

Não entendi o pq da função...

De qq forma, acho q agora ficará melhor para o seu entendimento:

...
<td align="right" width="3%"><font size="2"><% If rs("t_jan") = 0 Then Response.Write("") Else Response.Write(rs("t_jan")) %></font></td>
<td align="right" width="3%"><font size="2"><% If rs("t_fev") = 0 Then Response.Write("") Else Response.Write(rs("t_fev")) %></font></td>
<td align="right" width="3%"><font size="2"><% If rs("t_mar") = 0 Then Response.Write("") Else Response.Write(rs("t_mar")) %></font></td>
...

Em tempo, melhoras e boa recuperação.

Att.

Share this post


Link to post
Share on other sites

Obrigado pelas melhoras. Estou precisando muito. Quatro meses com muito mas muito sofrimento mesmo (próstata).

Bem deletei a função. Você tem razão eu achei que teria que criar.

Somente coloquei isso na <td> da tabela

<td align="right" width="3%"><font size="2"><% If rs("t_jan") = 0 Then Response.Write("") Else Response.Write(rs("t_jan"))%></font></td>

Deu o seguinte erro:

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

Tipos incompatíveis

/meu novo site nova versao/teste_logspormes.asp, linha 111

A linha 111 é justamente a:

 <td align="right" width="3%"><font size="2"><% If rs("t_jan") = 0 Then Response.Write("") Else Response.Write(rs("t_jan"))%></font></td>

Eu entendi (aprendi). Não deveria mostrar Err. Tem lógica. Que tipos incompatíveis?

Inclusive, na minha ignorância achei que teria que colocar "End If", mas também não funcionou

Saúde a Paz para você.

Share this post


Link to post
Share on other sites

Em tempo.

Coloquei entre aspa o "0" e funcionou.

Muito obrigado muito obrigado mesmo.

Abraços e Boa noite com Saúde e Paz

Share this post


Link to post
Share on other sites

é o tipo de dados que está como string... mas se funcionou maravilha

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.