ARTICULOS

Alternar el color de filas en paginación

Autor: Fabian Muller (http://www.webexperto.com) - 04/02/2003

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>

 

Más artículos sobre PHP

1. Creando sitio con forma modular
2. Rotador de banners con estadísticas
3. Usuarios activos con PHP sin BD
4. Calcular la edad con PHP
5. Instalación de PHP-Nuke bajo Windows
6. Consultas de selección aleatoria
7. Fecha completa en español
8. Frases aleatorias con PHP
9. Informe sobre el PhpNuke
10. Geolocalización en tu página web
Más artículos...

Otros artículos...

ASP Contador gráfico en ASP
Java Script Seleccionar y copiar formulario
XML ¿Qué es la Sindicación de Contenidos?
Marketing ¿Cómo hacer una presentación?
ASP.net Anti robots en ASP.NET
Fireworks Creación de estilos en Fireworks
Marketing Como diseñar una portada que cautive a sus visitantes
phpBB phpBB: Crear un foro privado
PHP Generar documentos de Word
Marketing Distintas ofertas; un mismo web
Más artículos...