Foros del Web » Programando para Internet » PHP »

problema con paginación

Estas en el tema de problema con paginación en el foro de PHP en Foros del Web. hola a todos a ver el problema en concreto es que quiero paginar los temas y las consultas del foro la pagina principal tiene este ...
  #1 (permalink)  
Antiguo 18/11/2007, 15:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
problema con paginación

hola a todos

a ver

el problema en concreto es que quiero paginar los temas y las consultas del foro

la pagina principal tiene este codigo

<?php
require('configuracion.php');
require('funciones.php ');
include('header.html');
aqui tenemos una parte que nos cuenta el numero de pagina segun las consultas introducidas

if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM foro", $con);
list($total) = mysql_fetch_row($result);
$tampag = 3;
$reg1 = ($pag-1) * $tampag;

aqui tenemos una consulta de seleccion de lo que queremos que nos muestre en pantalla
/* Pedimos todos los temas iniciales (identificador==0)
* y los ordenamos por ult_respuesta */
$sql = "SELECT id, autor, titulo, fecha, respuestas, ult_respuesta ";
$sql.= "FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC";
$rs = mysql_query($sql, $con);

Aqui tenemos otra consulta , es la misma que la anterior pero con los limites por pagina que queremos que nos aparezca. Realmente la anterior no nos hace falta
pero me sirve de referencia.
$result = mysql_query("SELECT id, autor, titulo, fecha, respuestas, ult_respuesta FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC LIMIT $reg1, $tampag", $con);

He aqui donde tengo el problema
Si aplico la variable $rs me muestra todos los resultos sin paginar ninguno
pero si por lo contrario aplico la variable $result solo me muestra la primera cantidad de resultados, pero no la siguiente si pico en la pagina 2
Si aplico en el primer if la variable $rs , igualmente solo me muestra los resultados de bucle While que hay mas abajo.
es este trozo de codigo es donde aplico las diferentes plantillas y el while de $result lo hace bien, pero NO SE COMO HACER QUE APARENZCAN LAS OTRAS CONSULTAS EN LAS OTRAS PAGINAS.
if(mysql_num_rows($result)>0)
{
// Leemos el contenido de la plantilla de temas
$template = implode("", file("temas.html"));
include('titulos.html');
while($row = mysql_fetch_assoc($result))
{
$color=($color==""?"#fcce8e":"");
$row["color"] = $color;
mostrarTemplate($template, $row);

}
}

Aqui llamamos a la funcion que nos muestra el resultado de las paginas (ejemplo <<1 2 3 >>)
esto funciona bien
echo paginar($pag, $total, $tampag, "indexforo.php?pag=");

include(' footer.html');
?>
  #2 (permalink)  
Antiguo 18/11/2007, 16:48
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: problema con paginación

Haber, prueba poniendo
Código PHP:
$pag $_GET['pag']; 
al inicio de tu script. Tal vez tu Register_globals esta en off

Ahora, hay buenos scripts que te facilitan la tarea a la hora de paginar resultados... Te recomiendo seguir este link:

http://www.forosdelweb.com/2190328-post9.html

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:13.