• Viernes 8 de Noviembre de 2024, 11:36

Autor Tema:  Problema Con Paginación  (Leído 894 veces)

sejote21

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema Con Paginación
« en: Domingo 18 de Noviembre de 2007, 22:52 »
0
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');
?>