Bueno, ayer pude solventar un problema que tenía con éste código y ahora surgió otro, el tema es que cuando crea las páginas no me muestra bien las noticias, es decir, yo configuré para que muestre 6 como máximo 6 noticias por página, pero ahora me muestra siempre 6 noticias por página.
Por ejemplo, yo tengo 7 noticias en mi base de datos, en la primera página me muestra de la 1 a la 6 y en la segunda de la 2 a la 7.
Qué podrá ser? Les dejo el código para ver si alguien puede ayudarme.
Código PHP:
Ver original<?php
/*
* autor:
* mail:
* page: creditos
*/
$host = "host";
$user = "user";
$passwd = "pass";
$database = "demo";
//provando conexion con mysql
//provando conexion con la base de datos
$rows_for_page = 6; //numero de registros a mostra
$sql = "SELECT * FROM noticia";
//total de registros existentes en la tabla
//total de paginas
$pages = ceil($total_records / $rows_for_page);
//si no existe por GET la var screen coloca por defecto el valor de 0
if (!isset($_GET['pagina'])) $position = 0;
//de lo contrario asigna el valor por get a $position
else
$position = (int)$_GET['pagina'];
//comenzando el paginado
$start = $position * $rows_per_page;
//consulta ala db por limites
$sql = "SELECT * FROM noticia order by id ASC LIMIT ".$position.",".$rows_for_page;
//ejecuta el query
//resultados de la consulta (total)
//imprime registros
for ($i = 0; $i < $rows; $i++) {
echo "<div class='col1 marg_right1'><h3 class='color1'>$titulo</h3>" ;
echo "<br />" ;
echo "<p>" ;
echo "<img src=noticias/images_bd.php?id=$mostrador[id]&tam=2 class=alignleft width='80' height='60' >" ;
echo "</p>" ;
echo "<p>$subtitulo</p></div>" ;
}
//comienza el paginado
echo '<p><hr></p>
<div style="width:100%; text-align:center;">';
//si posicion es mayor o igual a 1 quiere decir que muestre la parte Primero y Anterior de la paginación
if ($position >= 1) {
$url = "novedad.php?pagina=0";
echo "<a href=\"$url\">Primero</a>\n";
//para que el preius no termine con valor 0
$url = "novedad.php?pagina=" .($position-1);
echo "<a href=\"$url\">Anterior</a>\n";
}
//sirve para expandir el prollecto para poder paginar de la manera (Primero Anterior | 0 | 1 | 2 | 3 | Siguiente Ultimo)
/*for ($i = 0; $i < $pages; $i++) {
$url = "pag_next.php?screen=" . $i;
echo " | <a href=\"$url\">$i</a> | ";
}*/
//muestra total de resultados 1 de N
echo '<strong>'.($position+1).' de '.$pages.' </strong>';
//si position es menor a el valor entre los parentesis muestra la parte (Siguiente Ultimo)
if ($position < ($pages-1)) {
$url = "novedad.php?pagina=" . ($position+1);
echo "<a href=\"$url\">Siguiente</a>\n";
$url = "novedad.php?pagina=" . ($pages-1);
echo "<a href=\"$url\">Ultimo</a>\n";
}
echo '</div>';
?>