Alternar el color de filas en paginación

En este artículo mostraremos un listado de registros obtenidos de una base de datos MySQL, y alternaremos los colores de las filas en donde serán impresos. Además, incluiremos una paginación.

Para entederlo mejor, el listado con los colores de las filas alternados quedaría de la siguiente manera:


 

Dentro del while, se debe agregar las siguientes líneas:

if ($colorfila==0){
       $color= "#DEDEBE";
       $colorfila=1;
    }else{
       $color="#F0F0F0";
       $colorfila=0;
    }

El funcionamiento es realmente sencillo, se trata de una variable (colorfila) que contendrá un 0 o 1 como valor, si es igual a 1 va a guardar un color en la variable color, y lo mismo en caso de que el valor sea 0. Luego se cambia el valor de colorfila por el contrario, para que al pasar al siguiente registro, el valor sea el opuesto y se guarde el otro color.

Código completo

alternarcolores.php

<html>
<head>
<title>Alternar el color de las filas en paginación</title>
</head>
<body bgcolor=#FFFFFF>
<?
$base="nombredelabase";
$con=mysql_connect(servidor,usuario,password);
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM tabla ORDER BY titulo LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM tabla ORDER BY titulo";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
echo "<table width=’100%’>";

while($array = mysql_fetch_array($cad)) {

   if ($colorfila==0){
       $color= "#DEDEBE";
       $colorfila=1;
    }else{
       $color="#F0F0F0";
       $colorfila=0;
    }

    echo "<tr><td bgcolor=’".$color."’><font face=’Arial’ size=’2′>".$array[‘titulo’]."</font></td></tr>";

}
echo "</table>";

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg – 1;
echo "<a href=’alternarcolores.php?pg=".$url."’>&laquo; Anterior</a>&nbsp;";
}
else {
echo " ";
}

for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b>&nbsp;$i&nbsp;</b></font>";
}
else {
echo "<a href=’alternarcolores.php?pg=".$i."’>".$i."</a>&nbsp;";
}
}

if ($pg < $pages) {
$url = $pg + 1;
echo "<a href=’alternarcolores.php?pg=".$url."’>Siguiente &raquo;</a>";
}
else {
echo " ";
}
echo "</p>";
?>
</body>
</html>

Deja un comentario