He decidido hacer una función PHP que sirva para paginación, con Url modificable. (No como la clase de JPinedo que es más complicado, y la Url no la puedes modificar a tu gusto)
Pero tengo un problema al mostrar los datos.
Aquí les dejo el código.
$consulta: Es la consulta a la base de datos.
$hasta: Es la cantidad de registros a mostrar por pagina.
$nombre: Es el nombre que se le dará en el array() en el while().
$while: Es el array, en el cual seleccionas las tablas que necesitarás luego en el foreach().
$foreach: Es donde muestras los resultados.
$url: Es la url en donde se encuentra la paginación, tu le indicas, para luego la paginacion agregar /pag/X/
Función Paginacion();
Código PHP:
Ver originalfunction Paginacion($consulta, $hasta, $nombre, $while, $foreach, $url) {
global $config;
$hasta = $hasta;
$pagina = (int) $_REQUEST['pagina'];
if($pagina < 1 || empty($pagina)) { $pagina = 1;
}
$desde = ($pagina - 1) * $hasta;
$act = $pagina;
} else {
$desde = 0;
$act = 1;
}
$sql = $consulta;
$request = Consulta($sql . " LIMIT {$desde}, {$hasta}", __FILE__, __LINE__);
$config[$nombre] = array(); $config[$nombre][] = $while;
}
if($rows == false) {
echo 'Nada';
} else {
foreach($config[$nombre] as $mostrar) {
echo $foreach;
}
$ant = $act - 1;
$sig = $act + 1;
$ult = $rows / $hasta;
$res = $rows % $hasta;
if($res > 0) {
}
if($ult > 1) {
echo '<div class="OuterBox">
<div class="InnerBox">
<div class="wp-pagenavi">
<span class="pages">Página ' . $act . ' de ' . $ult . '</span>';
if($ult == $act && $act <> 1) {
echo '<a href="' . $url . '/pag/1/" class="page" title="« Primera">« Primera</a>';
}
if($act > 1 && $ant <> 1) {
echo '<a href="' . $url . '/pag/' . $ant . '/" class="page" title="' . $ant . '">' . $ant . '</a>';
}
echo '<span class="current">' . $act . '</span>';
if($act < $ult && $sig <> $ult) {
echo '<a href="' . $url . '/pag/' . $sig . '/" class="page" title="' . $sig . '">' . $sig . '</a>';
}
if($ult - $act >= 4) {
for($i = $sig + 1; $i <= $ult - 1; $i++) {
echo '<a href="' . $url . '/pag/' . $i . '/" class="page" title="' . $i . '">' . $i . '</a>';
}
}
if($ult <> $act) {
echo '<a href="' . $url . '/pag/' . $ult . '/" class="last" title="Última »">Última »</a>';
}
echo '</div>
</div>
</div>';
}
}
}
y aquí lo llamo:
Código PHP:
Ver original$hasta = 10;
$consulta = "SELECT * FROM (articulos AS a, articulos_comentarios AS c) WHERE a.ID_ARTICULO = c.ID_ARTICULO";
$nombre = 'comentarios';
'id' => $row['ID_COMENTARIO'],
'fec' => Fecha($row['fecha']),
'com' => BBcode($row['comentario'])
);
$foreach = '<div>En el comentario número ' . $mostrar['id'] . ', con fecha ' . $mostrar['fec'] . ' se dijo: <br />' . $mostrar['com'] . '</div>';
$url = $config['url'] . '/probando';
Paginacion($consulta, $hasta, $nombre, $while, $foreach, $url);
El problema que tengo, es que los cuenta perfectamente los resultados, con las páginas y todo, pero no me muestra ni la ID, ni la fecha, ni el comentario, ni ningún dato.
¿Qué es lo que me falta para que funcione?
Saludos.