Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] como colorear registros activos y no activos..

Estas en el tema de como colorear registros activos y no activos.. en el foro de PHP en Foros del Web. Buen dia para todos. tengo una tabla llamada: prestamos , con los campos: codigo-estado. en donde estado puede ser: Activo o Finalizado o Cancelado tabla: ...
  #1 (permalink)  
Antiguo 23/07/2013, 08:40
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
como colorear registros activos y no activos..

Buen dia para todos.

tengo una tabla llamada: prestamos , con los campos: codigo-estado.
en donde estado puede ser: Activo o Finalizado o Cancelado

tabla: Prestamos
campos: codigo , estado

estos datos los obtengo mediante una consulta a mysql por medio de php y los muestro en un siclo while en una tabla.

me gustaria que dependiendo del estado del prestamo se coloreara todo el registro:
Activo: color verde
Finalizado: color azul
Cancelado: color rojo

se me ocurre hacer una consulta y mirar el estado y depende de este darle su respectivo color.. pero no tengo el conocimiento suficiente para hacer esto..

les agradesco su ayuda con un breve ejemplito gracias..
  #2 (permalink)  
Antiguo 23/07/2013, 08:48
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: como colorear registros activos y no activos..

1) Defines esos estados como constantes para evitarte problemas:

Código PHP:
Ver original
  1. define ('CANCELADO',0);
  2. define ('FINALIZADO',-1);
  3. define ('ACTIVO',1);

Para mostrar los ACTIVOS / PAUSADOS ... etc puedes ahora preguntar SI (estado>=ACTIVO) en PHP y en mySql SI (estado>0)

2) Creas en CSS clases con esos mismos nombres y los colores que quieras

Código CSS:
Ver original
  1. .activo {color:green;}
  2. .finalizado {color:red;}
  3. .cancelado {color:yellow;}
  4. .suspendido {color:brown;}


Activo o Finalizado o Cancelado
__________________
Salu2!
  #3 (permalink)  
Antiguo 23/07/2013, 08:50
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: como colorear registros activos y no activos..

Puedes usar elseif o tambien switch y asignas los estilos deacuerdo al caso.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 23/07/2013, 08:51
Avatar de herran1212  
Fecha de Ingreso: julio-2013
Ubicación: cali
Mensajes: 89
Antigüedad: 10 años, 9 meses
Puntos: 3
Respuesta: como colorear registros activos y no activos..

hola, lo que pides no es tan complicado, bastaria con que consultes el estado y dependiendo como el valor le haces un echo "<TR BGCOLOR="codigo de color">" dependiendo del estado y listo.
  #5 (permalink)  
Antiguo 23/07/2013, 08:53
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: como colorear registros activos y no activos..

3) Al generar el HTML dentro del WHILE() haces te quede asi:

Código HTML:
Ver original
  1. <span class="<?= $row['estado']; ?>"><?= $row['prestamo']; ?></span>
__________________
Salu2!
  #6 (permalink)  
Antiguo 23/07/2013, 09:44
Avatar de cristo995  
Fecha de Ingreso: noviembre-2012
Mensajes: 187
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: como colorear registros activos y no activos..

muchas gracias ya pude hacerlo.. gracias a tu ayuda. asi me quedo:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.activo{
background: green;
}
.cancelado{
background: red;
}
.finalizado{
background: blue;
}

</style>

</head>
<body>

</body>
</html>
<?php
include('conexion.php');
$instancia = new conexion('localhost','root','','coloreoregistrosph p');
$instancia->conectar();

$query = mysql_query("SELECT * FROM prestamos");
echo'
<table>
<tr>
<td>Codigo</td>
<td>Estado</td>
</tr>

';
while($resultado = mysql_fetch_array($query)){
$activo = 1;
$cancelado=0;
$finalizado=-1;

if($resultado['estado']==$activo)
echo '<tr class="activo"><td>'.$resultado['codigo'].'</td><td>'.$resultado['estado'].'</td></tr>';

elseif($resultado['estado']==$cancelado)
echo '<tr class="cancelado"><td>'.$resultado['codigo'].'</td><td>'.$resultado['estado'].'</td></tr>';

elseif($resultado['estado']== $finalizado)
echo '<tr class="finalizado"><td>'.$resultado['codigo'].'</td><td>'.$resultado['estado'].'</td></tr>';

}

echo '</table>';
?>

por ahora lo que me interesaba era ver el resultado por eso lo hice con if , elseif ya despues lo hago con un switch que creo que es lo mas optimo.

tambien gracias a las otras respuestas todas ivan por el mismo lado solo que esta ayuda mas cuando somos novatos :)

saludos desde: Bucaramanga .. :)
  #7 (permalink)  
Antiguo 23/07/2013, 10:17
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: como colorear registros activos y no activos..

La gracia de hacerlo como te decia es que todo el codigo se simplifica... te edite la parte del WHILE

Código PHP:
Ver original
  1. <?php
  2. // Eso lo deberias incluir en algun archivo de constantes (ahora no lo usas)
  3.  
  4. define ('CANCELADO',0);
  5. define ('FINALIZADO',-1);
  6. define ('ACTIVO',1);

Código PHP:
Ver original
  1. <?php
  2. while($resultado = mysql_fetch_array($query)){
  3.    
  4.    echo '<tr class="{$resultado['estado']}"><td>'.$resultado['codigo'].'</td><td>'.$resultado['estado'].'</td></tr>';
  5. }

Aunque no uses las constantes ahora......te seran utiles tenerlas definidas ademas es DOCUMENTAR !

Abrazo desde Bogota y proximamente Medellin
__________________
Salu2!

Etiquetas: colorear, mysql, registro, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.