Foros del Web » Programando para Internet » PHP »

Intercalar filas con dos colores

Estas en el tema de Intercalar filas con dos colores en el foro de PHP en Foros del Web. Hola ! a ver si pueden ayudarme con esto: Muestro mediante una consulta SQL, los registros 13 al 50. E intercala un color por cada ...
  #1 (permalink)  
Antiguo 09/09/2009, 08:59
Avatar de maxi_lance  
Fecha de Ingreso: julio-2006
Ubicación: Capital Federal
Mensajes: 220
Antigüedad: 18 años, 4 meses
Puntos: 2
Intercalar filas con dos colores

Hola ! a ver si pueden ayudarme con esto:
Muestro mediante una consulta SQL, los registros 13 al 50.
E intercala un color por cada fila. El tema es que necesito que los registros que estan vacios no los muestre.
Es por eso que agregue la sentencia if ($row[$i] <> "") {.
Pero el problema que tengo es que la fila que siga muestra el mismo color que la anterior, entonces muestra dos filas de igual color.

Ejemplo:
1 manzana color fila rojo
2 pera color fila azul
3 naranja color fila rojo
4 *- no es visible
5 frutilla color fila rojo

Entonces fila 3 y fila 5 se ven juntas con el mismo color.

La duda que tengo es como puedo hacer para que interprete que si hay vacio en el registro el color siguiente sea el otro ?


<style>
.fila_0 { background-color: #0066FF;}
.fila_1 { background-color: #E1E8F1;}
</style>

<?

for($i=13;$i<=50;$i++){
if ($row[$i] <> "") { ?>
<tr><td class="fila_<?php echo $i%2 ; ?> ">
<? echo $row[$i]; ?>
</td></tr>
<?
}
} ?>



Gracias.
  #2 (permalink)  
Antiguo 09/09/2009, 09:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Intercalar filas con dos colores

Lo que te sugiero que en vez de usar PHP para filtrar y quitar los vacios que lo evites usando la clausula de WHERE en el query que estes haciendo. Luego haces solamente los colores que quieres. Tambien puedes hacer esto si quieres

Código PHP:
Ver original
  1. <?php
  2. for($i=13;$i<=50;$i++){
  3.   $bg = ($bg=="0066FF"?"E1E8F1":"0066FF");
  4.   echo "<tr bgcolor='#".$bg."'><td>".$row[$i]."</td></tr>";
  5. }
  6. ?>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/09/2009, 09:48
Avatar de maxi_lance  
Fecha de Ingreso: julio-2006
Ubicación: Capital Federal
Mensajes: 220
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: Intercalar filas con dos colores

gracias abimaelrc por la respuesta.

Dejo el codigo final:

<?
for($i=13;$i<=50;$i++){
if ($row[$i] <> "") {
$bg = ($bg=="0066FF"?"E1E8F1":"0066FF");
echo "<tr bgcolor='#".$bg."'><td>". $row[$i]."</td></tr>";
}
}
?>
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 12:56.