Ir para conteúdo

POWERED BY:

Arquivado

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

Samfera

[Resolvido] Campo mudar de cor dependendo do valor

Recommended Posts

Salve pessoal,

 

Gostaria de saber se existe a possibilidade de mudar a cor da fonte conforme o valor puxado no banco de dados. Tipo: Média >= 6,0 (azul) <6 (Vermelho).

 

Tentei usar a condicional IF, porém, não consegui com campos do Bando de dados. Observem que o serultado do código abaixo eu consigo mudar as cores da linha da tabela, mas os dados não consegui.

 

Segue abaixo:

 

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<% 
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("meu_banco.mdb")&";"
conexao.open
SQL = "select Disciplina,[Média Modulo1], [Faltas Modulo1],[Média Modulo2], [Faltas Modulo2],[Média Modulo3], [Faltas Modulo3],[Média Modulo4], [Faltas Modulo4], [Média final], [Total faltas] from conboletim" 
Set RS = Conexao.Execute(SQL)

%>
<table border=1 cellpadding="1" cellspacing="0">
<tr>
<td>Disciplina</td>
<td>I-Unidade</td>
<td>II-Unidade</td>
<td>III-Unidade</td>
<td>IV-Unidade</td>
<td>Média</td>
</tr>
<%while not rs.EOF
if cor ="#FFFFFF" then
cor = "#EEEEEE"
else
cor ="#FFFFFF"
end if
response.Write "<tr bgcolor="& cor &">"%>
<td><%=rs("Disciplina")%></td>
<td><div align="center"><%=rs("Média Modulo1")%></div></td>
<td><div align="center"><%=rs("Média Modulo2")%></div></td>
<td><div align="center"><%=rs("Média Modulo3")%></div></td>
<td><div align="center"><%=rs("Média Modulo4")%></div></td>
<td><div align="center"><%=rs("Média Final")%></div></td>
</tr>
<%rs.Movenext
wend%>
</table>

</body>

Agradeço,

 

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz as somas das medias, e converte em INT()...

 

ai você faz o id

 

if (int(total) < 6) then
.... cor que você quer...
else
... cor que você quer....
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

digamos que seu IF é este:

 

if cor ="#FFFFFF" then

cor = "#EEEEEE"

else

cor ="#FFFFFF"

 

Certo ?

 

Assim, você está apenas fazendo um código que mostra uma linha de cada cor.. estou certo ? Tipo "zebrinha". (cor sim, cor não)

 

O ideal, é como nosso amigo postou..

 

você pegar a váriavel que traz os dados do banco.. converter pra inteiro.. e tester com o IF, e atribuir a cor para a variavel COR.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz as somas das medias, e converte em INT()...

 

ai você faz o id

 

if (int(total) < 6) then
.... cor que você quer...
else
... cor que você quer....
end if

 

Ted,

 

Desculpe a ignorência, mas não estou sabendo onde usar a condicional. Tentei o IF de algumas maneiras mas não funcoinou. Se puder, me esclaressa melhor onde por o IF.

 

Sei usar a condicional IF o problema é que não está funcionando.

 

Brigadão pela força

 

Sds,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

digamos que seu IF é este:

 

if cor ="#FFFFFF" then

cor = "#EEEEEE"

else

cor ="#FFFFFF"

 

Certo ?

 

Assim, você está apenas fazendo um código que mostra uma linha de cada cor.. estou certo ? Tipo "zebrinha". (cor sim, cor não)

 

O ideal, é como nosso amigo postou..

 

você pegar a váriavel que traz os dados do banco.. converter pra inteiro.. e tester com o IF, e atribuir a cor para a variavel COR.

 

 

dark0 parceiro,

 

É exatamante isso o IF que usei é pra fazer o zebrado na tabela, porém, não to censeguindo mudar a cor quando o valor vem do Banco de Dados.

 

Se puder me judar te agradeço

 

Abraços,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

 

Altere

if cor ="#FFFFFF" then

 

Por

if (int(total) < 6) then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso!


While Not Rs.EOF
   If Rs("Média Final") >= 5 Then
      Cor = "#0000FF" 'Azul
   Else
      Cor = "#FF0000" 'Vermelho
   End If

   Response.Write("<tr>" &
   "<td>" & Rs("Disciplina") & "</td>" &
   "<td><div align='center'>" & Rs("Média Modulo1") & "</div></td>" &
   "<td><div align='center'>" & Rs("Média Modulo2") & "</div></td>" &
   "<td><div align='center'>" & Rs("Média Modulo3") & "</div></td>" & 
   "<td><div align='center'>" & Rs("Média Modulo4") & "</div></td>" & 
   "<td><div align='center'><font color='" & Cor & "'" & Rs("Média Final") & "</font></div></td>" & 
   "</tr>")
Rs.MoveNext
Wend   

 

EDIT: Na condição do IF coloca a média do aluno. Se for maior que 5 Fica Azul, Senão Vermelha.

O IF tem que ficar dentro do While, pois é um laço de repetição. Toda vez que voltar no While ele vai verificar se a Média é Maior ou Menor que 5. Dae ele muda as cores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso!


While Not Rs.EOF
   If Rs("Média Final") >= 5 Then
      Cor = "#0000FF" 'Azul
   Else
      Cor = "#FF0000" 'Vermelho
   End If

   Response.Write("<tr>" &
   "<td>" & Rs("Disciplina") & "</td>" &
   "<td><div align='center'>" & Rs("Média Modulo1") & "</div></td>" &
   "<td><div align='center'>" & Rs("Média Modulo2") & "</div></td>" &
   "<td><div align='center'>" & Rs("Média Modulo3") & "</div></td>" & 
   "<td><div align='center'>" & Rs("Média Modulo4") & "</div></td>" & 
   "<td><div align='center'><font color='" & Cor & "'" & Rs("Média Final") & "</font></div></td>" & 
   "</tr>")
Rs.MoveNext
Wend   

 

EDIT: Na condição do IF coloca a média do aluno. Se for maior que 5 Fica Azul, Senão Vermelha.

O IF tem que ficar dentro do While, pois é um laço de repetição. Toda vez que voltar no While ele vai verificar se a Média é Maior ou Menor que 5. Dae ele muda as cores.

 

 

 

 

Dee,

 

A condição funciona perfeitamente, porém, não muda na tabela. Estou postando como ficou o código, se você puder, dê uma olhada e me diga onde estou errando.

 

<%while not rs.EOF
    If Rs("Média Final") >=6 Then      
	Cor = "#0000FF" 'Azul   
	Else      
	Cor = "#FF0000" 'Vermelho   
	End If
	Response.Write "<tr>"  %>
		<td><%=rs("Disciplina")%></td>
  		<td><div align="center"><%=formatNumber(rs("Média Modulo1"),2)%></div></td>
  		<td><div align="center"><%=formatNumber(rs("Média Modulo2"),2)%></div></td>
  		<td><div align="center"><%=formatNumber(rs("Média Modulo3"),2)%></div></td>
  		<td><div align="center"><%=formatNumber(rs("Média Modulo4"),2)%></div></td>
  		<td><div align="center"><font color= & cor &><%=formatNumber(rs("Média Final"),2)%></font></div></td>
   	</tr> 
  	<%rs.Movenext
   	wend%>

Desde já te agradeço

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

No ultimo TD

 

<td><div align="center"><font color= & cor &><%=formatNumber(rs("Média Final"),2)%></font></div></td>

tem a variavel Cor, que determinamos qual cor vai ser, você nao colocou ela entre Tags ASP. No código que tinha feito, ja tinha colocado tudo no Response.Write.

 

Troque essa linha por essa:

 

<td><div align="center"><font color='<%=Cor%>'><%=formatNumber(rs("Média Final"),2)%></font></div></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No ultimo TD

 

<td><div align="center"><font color= & cor &><%=formatNumber(rs("Média Final"),2)%></font></div></td>

tem a variavel Cor, que determinamos qual cor vai ser, você nao colocou ela entre Tags ASP. No código que tinha feito, ja tinha colocado tudo no Response.Write.

 

Troque essa linha por essa:

 

<td><div align="center"><font color='<%=Cor%>'><%=formatNumber(rs("Média Final"),2)%></font></div></td>

 

Dee,

 

Era isso mesmo, você tem razão. Esquei as Tags.

 

Funcionou perfeitamente agora.

 

Gostaria de agradecer pela ajuda, foi muito importante pra mim.

 

Um grande abraço,

Cláudio

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.