Jump to content
Sign in to follow this  
TiagoWanderley

Mudar cor do campo de acordo com o resultado

Recommended Posts

Olá pessoal,

 

Estou criando meu primeiro sistema onde tenho uma coluna da tabela com o nome de SITUAÇÃO, gostaria que esse campo mudasse de cor de acordo com a situação especificada. Exemplo:

 

 

Processo: 000000/2015-00

Situação: COBRAR

 

Processo: 000000/2015-00

Situação: OK

 

Processo: 000000/2015-00

Situação: AGUARDAR

 

​Alguém poderia me ajudar?

Share this post


Link to post
Share on other sites

Talvez não seja tão didático, mas para economia de código poderia utilizar também:

$color = '';
while (...)
{
    $color = $situacao == 'ok' ? 'green' : 'red'; 
    echo '<span style="color: ' . $color . ';">' . $situacao . '</span>';
}

Share this post


Link to post
Share on other sites

@kcirtapsi seu código não funciona nas necessidades do cara. Ainda existe um caso "Aguardar", e não daria pra colocar nestas condicionais "reduzidas" (esqueci o nome hahaha)

 

Eu teria outra solução, usando switch.

while(...){
    switch($situacao){
        case "ok": $corSituacao = "green"; break;
        case "cobrar": $corSituacao = "red"; break;
        case "aguardar": $corSituacao = "blue"; break;
    }

    echo "Situacao: <span style=\"color:".$corSituacao."\">".$situacao."</span>";

}

Share this post


Link to post
Share on other sites

Maukel-ctba, desculpe, fiz o comentário em cima do segundo comentário, e não reparei na terceira condição:

 

Não testei aqui, mas esse código funcionaria? :

$color = '';
while (...)
{
    $color = $situacao == 'ok' ? 'green' : ($situacao == 'cobrar' ? 'red' : 'blue'); 
    echo '<span style="color: ' . $color . ';">' . $situacao . '</span>';
}

Share this post


Link to post
Share on other sites

E como eu faria essas aplicações no código? Segue abaixo.

 

PROGRAMAÇÃO:

<?php require_once('Connections/config.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
?>
<?php require_once('Connections/config.php'); 

if(isset($_POST['consultar'])){

	$q= mysql_real_escape_string($_POST['campo']);
	
$maxRows_Resultado = 20;
$pageNum_Resultado = 0;
if (isset($_POST['pageNum_Resultado'])) {
  $pageNum_Resultado = $_POST['pageNum_Resultado'];
}
$startRow_Resultado = $pageNum_Resultado * $maxRows_Resultado;

mysql_select_db($database_config, $config);
$query_Resultado = "SELECT * FROM consulta WHERE processo LIKE '%".$q."%' OR categoria LIKE '%".$q."%' OR situacao LIKE '%".$q."%'";
$query_limit_Resultado = sprintf("%s LIMIT %d, %d", $query_Resultado, $startRow_Resultado, $maxRows_Resultado);
$Resultado = mysql_query($query_limit_Resultado, $config) or die(mysql_error());
$row_Resultado = mysql_fetch_assoc($Resultado);

if (isset($_POST['totalRows_Resultado'])) {
  $totalRows_Resultado = $_POST['totalRows_Resultado'];
} else {
  $all_Resultado = mysql_query($query_Resultado);
  $totalRows_Resultado = mysql_num_rows($all_Resultado);
}
$totalPages_Resultado = ceil($totalRows_Resultado/$maxRows_Resultado)-1;

} else {

$maxRows_Resultado = 20;
$pageNum_Resultado = 0;
if (isset($_GET['pageNum_Resultado'])) {
  $pageNum_Resultado = $_GET['pageNum_Resultado'];
}
$startRow_Resultado = $pageNum_Resultado * $maxRows_Resultado;

mysql_select_db($database_config, $config);
$query_Resultado = "SELECT * FROM consulta";
$query_limit_Resultado = sprintf("%s LIMIT %d, %d", $query_Resultado, $startRow_Resultado, $maxRows_Resultado);
$Resultado = mysql_query($query_limit_Resultado, $config) or die(mysql_error());
$row_Resultado = mysql_fetch_assoc($Resultado);

if (isset($_GET['totalRows_Resultado'])) {
  $totalRows_Resultado = $_GET['totalRows_Resultado'];
} else {
  $all_Resultado = mysql_query($query_Resultado);
  $totalRows_Resultado = mysql_num_rows($all_Resultado);
}
$totalPages_Resultado = ceil($totalRows_Resultado/$maxRows_Resultado)-1;

}

$queryString_Resultado = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Resultado") == false && 
        stristr($param, "totalRows_Resultado") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Resultado = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Resultado = sprintf("&totalRows_Resultado=%d%s", $totalRows_Resultado, $queryString_Resultado);
?>

FORMULÁRIO:

<td><?php echo $row_Resultado['situacao']; ?></td>

Obrigado!

Share this post


Link to post
Share on other sites

Fiquei cego com esse código gerado pelo Dreamweaver :P

 

Cara, esse trecho de código não mostra nada do que deveria (impressão na página). Você deve ter mandado pela metade.

Share this post


Link to post
Share on other sites

Boa Noite Tiago ,

 

Uma dica , deixe o Dreamweaver :P

 

Segue um código meia boca , mas vai resolver ..

 

apague o seu <td><?php echo $row_Resultado['situacao']; ?></td> e cole esse código no lugar dele ,

 

Abraços

<?php 
$situacao = $row_Resultado['situacao']; 

if($situacao == 'COBRAR'){ ?>

<td span style="color:red;"><?php echo $situacao; ?></td>

<?php  } ?>

if($situacao == 'OK'){ ?>

<td span style="color:green;"><?php echo $situacao; ?></td>

<?php  } ?>

if($situacao == 'AGUARDAR'){ ?>

<td span style="color:blue;"><?php echo $situacao; ?></td>

<?php  } ?>

Share this post


Link to post
Share on other sites

Bom dia Adnilton,

 

Obrigado pela força, só precisei tirar as <td> para se ajustar ao campo e rodou perfeito. Quanto ao Dreamweaver pretendo abandonar esse vicio mas como sou iniciante em programação esta sendo uma mão na roda. :D !

 

Quero também agradecer as outras postagens. Abraço a todos.

Share this post


Link to post
Share on other sites

Que bom que conseguir de ajudar , tem outras formas de fazer isso tbm hehehehe

 

Cara comecei com Dream tbmm , mas senti que era ele que programava pra mim eu apenas orientava kkkkkkkkkkkkkk

 

Fui pró notepadd++ amei ele , agora estou com sublime text e não troco mais por nada .

 

O Dream gera muito código sem necessidade , qualquer coisa me adiiciona pra trocar ideia e informações ,abraços

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
Sign in to follow this  

×

Important Information

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