Ir para conteúdo

POWERED BY:

Arquivado

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

marlongb

[Resolvido] Alterar Cor da <TR> com IF no PHP

Recommended Posts

Galera,sou bem iniciante no PHP e me apresentei com o seguinte problema.

Tenho a tabela abaixo, gerada por uma consulta, e a variavel $tipo recebe apenas 3 valores "N.O","C.O","R.V".O que pretendo fazer é o seguinte, a linha da tabela que receber a variavel $tipo='N.O' vai ser cor vermelho, a que for $tipo='C.O' vai ser cor verde, e assim por diante.

<?php 
$procura = mysql_query("SELECT * FROM ocorrencia ORDER BY protocolo DESC");


echo "<table id='consulta' width='930px' cellpadding='0' cellspacing='0'  border='0'>";
echo "<tr>"."<td class='sumir' width='15px'>ID</td>";
echo "<td class='tconsulta' width='120px'>Protocolo</td>";
echo "<td class='tconsulta' width='50px'>Tipo</td>";
echo "<td class='tconsulta' width='70px'>Usuário</td>";
echo "<td class='tconsulta' width='120px'>Cliente/Empresa</td>";
echo "<td class='tconsulta' width='400px'>Assunto</td>";
echo "</tr>";
while($res = mysql_fetch_array($procura)){
echo "<tr onclick=location.href='edit_oco.php?id=".$res['id'] ."'><td class='sumir'>" .$res['id']."</td>";
$tipo=$res['tipo'];
echo "<td >" .$res['protocolo']."</td>";
echo "<td >" .$tipo ."</td>";
echo "<td >" .$res['usuario']."</td>";
echo "<td >" .$res['cliente']."</td>";
echo "<td >" .$res['assunto']."</td>";

echo "</a></tr>";
}
if ($tipo=='N.O'){
echo "<style type='text/css'>#consulta tr{background-color:red;}</style>";
}
if ($tipo=='C.O'){
echo "<style type='text/css'>#consulta tr{background-color:green;}</style>";
}
if ($tipo=='R.V'){
echo "<style type='text/css'>#consulta tr{background-color:blue;}</style>";
}
echo "</table>";
?>

O problema que ele entra em uma condição, e simplesmente da a cor da primeira condição pra todas as linhas, ele não esta entrando nas outras condições.( os IF funcionam separadamente,mas em conjunto não¬¬)

Sei que é erro de lógica, mas não consegui solucionar :/ alguem poderia dar uma ajuda ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega verifica se é assim que você precisa, o IF estava fora do loop então pegava a última ocorrência do resultado, já que você precisa colorir a linha pode adicionar o style dentro do <tr> e antes de terminar o </tr> você fecha a tag </a> que não é aberta e mesmo se fosse estaria sendo fechada no lugar errado, fiz umas alterações confira se é isto que precisa

 

 


echo "<table id='consulta' width='930px' cellpadding='0' cellspacing='0'  border='0'>";
echo "<tr>"."<td class='sumir' width='15px'>ID</td>";
echo "<td class='tconsulta' width='120px'>Protocolo</td>";
echo "<td class='tconsulta' width='50px'>Tipo</td>";
echo "<td class='tconsulta' width='70px'>Usuário</td>";
echo "<td class='tconsulta' width='120px'>Cliente/Empresa</td>";
echo "<td class='tconsulta' width='400px'>Assunto</td>";
echo "</tr>";
while($res = mysql_fetch_array($procura)){

       $tipo=$res['tipo'];
       switch($tipo){
             case 'N.O': $cor='red'; break; 
             case 'C.O': $cor='green'; break;
             case 'R.V': $cor='blue'; break;
       }

       echo "<tr style='color: $cor;' onclick=location.href='edit_oco.php?id=".$res['id'] ."'><td class='sumir'>" .$res['id']."</td>";

       echo "<td >" .$res['protocolo']."</td>";
       echo "<td >" .$tipo ."</td>";
       echo "<td >" .$res['usuario']."</td>";
       echo "<td >" .$res['cliente']."</td>";
       echo "<td >" .$res['assunto']."</td>";
       echo "</tr>";      

}
?>

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.