Código PHP:
<?php if(isset($_GET['c'])){}else{$_GET['c']='FALSE';};
switch ($_GET['c']){
case ('FALSE') :
$cat = 'FALSE';
$query = "SELECT * FROM posts WHERE Categoria!='- Borrador' ORDER BY id DESC";
break;
case ('paintball') :
$cat = 'Paintball';
$query = "SELECT * FROM posts WHERE Categoria='Paintball' ORDER BY id DESC";
break;
case ('airsoft') :
$cat = 'Airsoft';
$query = "SELECT * FROM posts WHERE Categoria='Airsoft' ORDER BY id DESC";
break;
case ('hardware') :
$cat = 'Hardware';
$query = "SELECT * FROM posts WHERE Categoria='Hardware' ORDER BY id DESC";
break;
case ('software') :
$cat = 'Software';
$query = "SELECT * FROM posts WHERE Categoria='Software' ORDER BY id DESC";
break;
case ('juegos') :
$cat = 'Juegos';
$query = "SELECT * FROM posts WHERE Categoria='Juegos' ORDER BY id DESC";
break;
case ('cahos') :
$cat = 'CAHOS Gaming';
$query = "SELECT * FROM posts WHERE Categoria='CAHOSGaming' ORDER BY id DESC";
break;
};
?>
<!--
INICIO DE CONTENIDO -->
<div class="section-header">
<h3>Noticias <?php if($cat!='FALSE'){echo '> '.$cat;}else{};?></h3><a href="javascript:history.back()" class="ver-buttom fr">atras</a>
</div><!-- fin section-header -->
<div id="content-overflow-container" class="cf"> <!-- OVERFLOW CONTAINER -->
<div id="content-container" class="content-overflow fl">
<section id="news">
<?php
include 'includes/conexiondb.php';
//AL PRINCIPIO COMPRUEBO SI HICIERON CLICK EN ALGUNA PÁGINA
if(isset($_GET['page'])) {
$page= $_GET['page'];
} else {
//SI NO DIGO Q ES LA PRIMERA PÁGINA
$page=1;
}
//ACA SE SELECCIONAN TODOS LOS DATOS DE LA TABLA
$consulta=$query;
$datos=mysql_query($consulta,$conexion);
//MIRO CUANTOS DATOS FUERON DEVUELTOS
$num_rows=mysql_num_rows($datos);
//ACA SE DECIDE CUANTOS RESULTADOS MOSTRAR POR PÁGINA , EN EL EJEMPLO PONGO 15
$rows_per_page= 8;
//CALCULO LA ULTIMA PÁGINA
$lastpage= ceil($num_rows / $rows_per_page);
//COMPRUEBO QUE EL VALOR DE LA PÁGINA SEA CORRECTO Y SI ES LA ULTIMA PÁGINA
$page=(int)$page;
if($page > $lastpage) {
$page= $lastpage; }
if($page < 1) {
$page=1; }
//CREO LA SENTENCIA LIMIT PARA AÑADIR A LA CONSULTA QUE DEFINITIVA
$limit= 'LIMIT '. ($page -1) * $rows_per_page . ',' .$rows_per_page;
//REALIZO LA CONSULTA QUE VA A MOSTRAR LOS DATOS (ES LA ANTERIO + EL $limit)
$consulta .=" $limit";
$resultado=mysql_query($consulta,$conexion);
if(!$resultado) {
//SI FALLA LA CONSULTA MUESTRO ERROR
die('Invalid query: ' . mysql_error());
} else {
//SI ES CORRECTA MUESTRO LOS DATOS
while($fila = mysql_fetch_assoc($resultado)) {
$contenido = truncate($fila["Contenido"], 310, "...", false, true);
echo '
<div class="article-container cf">
<div class="news_img_destacada fl">
<img src="'.$fila["ImgDestacada"].'" alt="'.$fila["Titulo"].'" height="150" width="150">
</div>
<article class="news_text fr">
<h2><a href="leer_post.php?id='.$fila['ID'].'">'.$fila["Titulo"].'</a></h2>
<h4>'.$fila["Fecha"].' // escrito por <a href="#">'.$fila["Autor"].'</a> en <a href="#">'.$fila["Categoria"].'</a></h4>
<p class="news_text_p">'.$contenido.'</p>
<div class="ar">
<p><a class="leer-mas fr" href="leer_post.php?id='.$fila['ID'].'">Leer Mas</a></p>
<div>
</article>
</div><!-- END OF ARTICLE-CONTAINER -->
'; };
//UNA VEZ Q MUESTRO LOS DATOS TENGO Q MOSTRAR EL BLOQUE DE PAGINACIÓN SIEMPRE Y CUANDO HAYA MÁS DE UNA PÁGINA
if($num_rows != 0) {
$nextpage= $page +1;
$prevpage= $page -1; ?>
<ul id="pagination-clean"><?php
//SI ES LA PRIMERA PÁGINA DESHABILITO EL BOTON DE PREVIOUS, MUESTRO EL 1 COMO ACTIVO Y MUESTRO EL RESTO DE PÁGINAS
if ($page == 1)
{
?>
<li class="previous-off">« Anterior</li>
<li class="active">1</li>
<?php
for($i= $page+1; $i<= $lastpage ; $i++)
{?>
<li><a href="noticias.php?cat=<?php echo $cat;?>&page=<?php echo $i;?>"><?php echo $i;?></a></li>
<?php }
//Y SI LA ULTIMA PÁGINA ES MAYOR QUE LA ACTUAL MUESTRO EL BOTON NEXT O LO DESHABILITO
if($lastpage >$page )
{?>
<li class="next"><a href="noticias.php?cat=<?php echo $cat;?>&page=<?php echo $nextpage;?>" >Siguiente »</a></li><?php
}
else
{?>
<li class="next-off">Siguiente »</li>
<?php
}
} else {
//EN CAMBIO SI NO ESTAMOS EN LA PÁGINA UNO HABILITO EL BOTON DE PREVIUS Y MUESTRO LAS DEMÁS
?>
<li class="previous"><a href="noticias.php?cat=<?php echo $cat;?>&page=<?php echo $prevpage;?>">« Anterior</a></li><?php
for($i= 1; $i<= $lastpage ; $i++) {
//COMPRUEBO SI ES LA PÁGINA ACTIVA O NO
if($page == $i) {
?> <li class="active"><?php echo $i;?></li><?php
} else {
?> <li><a href="noticias.php?cat=<?php echo $cat;?>&page=<?php echo $i;?>" ><?php echo $i;?></a></li><?php
}
}
//Y SI NO ES LA ÚLTIMA PÁGINA ACTIVO EL BOTON NEXT
if($lastpage >$page )
{ ?>
<li class="next"><a href="noticias.php?cat=<?php echo $cat;?>&page=<?php echo $nextpage;?>">Siguente »</a></li><?php
} else {
?> <li class="next-off">Siguiente »</li><?php
}
}
?></ul><?php
}
}
?>
</section><!-- fin section news -->
</div><!-- fin de content-container -->