Noticias con Paginacion php y css

Crear tabla de noticias :
*************************
CREATE TABLE IF NOT EXISTS `noticias` (
`idnot` int(10) unsigned zerofill NOT NULL auto_increment,
`tema` varchar(100) collate latin1_general_ci default NULL,
`autor` varchar(100) collate latin1_general_ci default NULL,
`cont` text collate latin1_general_ci,
`imagen` varchar(150) collate latin1_general_ci default NULL,
`fpub` datetime default NULL,
PRIMARY KEY (`idnot`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1;

Crear los estilos : (colocar entre <head> </head>)
*******************
.link a, .link{color:#FFF; font-weight:bold}
.link a:visited{color:#FFF;}
.link a:hover{color:#FFF;}

#pages {
clear: both;
text-align: center;
font-size:9px;
}
#pages li {
display: inline;
padding: 3px 6px 4px;
}
#pages li.page {
border: 1px solid #F05BF2;
margin-right:1px;
}
#pages li.current {
background:#F05BF2;
color:#FFF;
}

Crear archivo Php :
*******************

<?
$rowCount = 6; // Número de registros por página.
$pagesToShow = 2; // Número de páginas a mostrar adelante o atrás de la actual en la paginación.

$SQL = mysql_query(“SELECT COUNT(*) FROM noticias”,$conexion);
$ROW = mysql_fetch_array($SQL);

// Obtenemos el número de registros en la tabla.
$notCount = $ROW[0];

// El número de páginas que podemos mostrar.
$pagesCount = (int)ceil($notCount / $rowCount);

// Obtenemos el índice de la página que nos piden mostrar y nos aseguramos que esté entre 0 y $pagesCount.
$pageIndex = isset($_REQUEST[‘pageIndex’]) ? (int)$_REQUEST[‘pageIndex’] : 0;
if ($pageIndex >= $pagesCount)
$pageIndex = $pagesCount – 1;

// Obtenemos unicamente los registros de la página actual.
$offset = $pageIndex * $rowCount;
?>

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>paginacion en php</title>
</head>

<body>
<?
$SQL = mysql_query(“SELECT * FROM noticias ORDER BY fpub DESC LIMIT $offset, $rowCount”,$conexion);
while($ROW = mysql_fetch_array($SQL)){
echo “<div style=’width:250px;border:#FFF 1px solid;float:left;’>

<b>$ROW[1]</b><br /><br />
$ROW[3]<br /><br />
<center><img src=’images/$ROW[4]’/></center><br /><br />
<b style=’font-size:10px;’>$ROW[2] <br /> $ROW[5]</b>
</div>”;
}
?>
<div style=”clear:both;”></div>

<ul id=”pages” style=”margin-top:10px;”>
<?php
// Página anterior.
if ($pageIndex > 0) {
?>
<li><a href=”?pageIndex=<?php echo $pageIndex – 1 ?>”>&laquo; Anterior</a></li>
<?php } ?>

<?php
$start = $pageIndex – $pagesToShow;
if ($start < 0)
$start = 0;

$end = $pageIndex + $pagesToShow;
if ($end >= $pagesCount)
$end = $pagesCount – 1;

if ($start > 0) {
for ($i = 0; $i < 2 && $i < $start; ++$i) {
?>
<li><a href=”?pageIndex=<?php echo $i ?>”><?php echo $i + 1 ?></a></li>
<?php
}
}

if ($start > 2) {
?>
<li>…</li>
<?php
}

for ($i = $start; $i <= $end; ++$i) {
if ($pageIndex == $i) {
?>
<li><?php echo $i + 1 ?></li>
<?php
} else {
?>
<li><a href=”?pageIndex=<?php echo $i ?>”><?php echo $i + 1 ?></a></li>
<?php
}
}

if ($end < $pagesCount – 3) {
?>
<li>…</li>
<?php
}

if ($end < $pagesCount – 1) {
for ($i = max($pagesCount – 2, $end + 1); $i < $pagesCount; ++$i) {
?>
<li><a href=”?pageIndex=<?php echo $i ?>”><?php echo $i + 1 ?></a></li>
<?php
}
}

?>

<?php
// Siguiente página
if ($pageIndex < $pagesCount) {
?>
<li><a href=”?pageIndex=<?php echo $pageIndex + 1 ?>”>Siguiente &raquo;</a></li>
<?php } ?>
</ul>
<br />

</body>
</html>

Share this Story

Related Posts

Hosting Perú

En Net Hosting Perú el servicio nunca se cae, contamos con sistemas de múltiples servidores automatizados totalmente redundantes que respaldan cualquier interrupción del servicio al instante.

Soporte Técnico Profesional Avanzado, estamos listos para resolver sus problemas rápida y profesionalmente las 24x7x365.

Somos mayoristas de Hosting ofrecemos más espacio y mayor transferencia a menores precios que la competencia.

Por qué hacemos esta garantía, porque usamos la tecnología de servidores más confiables disponible hoy en día.

NUESTRA DATA CENTER DE CLASE MUNDIAL

Nuestro proveedor Complex Drive está conectada a Seis (6) de los más grandes proveedores de banda ancha (de AT&T, Level3, Cox, Cogent, MCI / Verizon, Telepacific),