Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2007, 14:41
JinRoh
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 3 meses
Puntos: 0
Problema y duda con Paginación PHP

Buenos días, descargué un código PHP para un Paginador de desarrollo web, y tras modificarlo un poco he logrado hacer que funcione, en la página de prueba.

Seria como ven aqui chetos.es/index_paginacion.php

Como ven, eso funciona y pagina, el problema es que para mi web quiero que tenga una función extra que explicaré a continuación.

Imaginen que los numeros que ven en el ejemplo de paginación (54, 53... etc) fueran variables $video (por GET)

La cuestión es, si en index_paginacion.php?video=30 (por ejemplo) se podria hacer que automaticamente vaya a la página correspondiete, según el paginador PHP (en este caso sería la 2º página, ya que ahora mismo el elemento 30 aparece en la segunda página , ordenada en modo descendente, que es como va)

¿Habria alguna forma de hacer eso? Adjunto el código del paginador.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Paginación con PHP</title>
</head>

<body>

<?
//conecto con la base de datos
$conn mysql_connect("server","user,"pass");
mysql_select_db("
dbname",$conn);


//Limito la busqueda
$TAMANO_PAGINA = 15;
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "
select from ratings where id " ;
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
//examino la página a mostrar y el inicio del registro a mostrar
$video = $_GET["
video"];
$pagina = $_GET["
pagina"]
if (!$pagina) {
        $inicio = 0;
        $pagina=1;
}
else {
    $inicio = ($pagina - 1) * $TAMANO_PAGINA;
}



//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "
Número de registros encontrados" . $num_total_registros . "<br>";
echo "
Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "
Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";


//construyo la sentencia SQL
$ssql = "
select from ratings  where id 0 order by id desc limit " . $inicio . "," . $TAMANO_PAGINA;

echo $ssql . "
<p>";

$rs = mysql_query($ssql);

while ($fila = mysql_fetch_object($rs)){
    echo $fila->id . "
<br>";
}
//cerramos el conjunto de resultados y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conn);

echo "
<p>";



//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
    for ($i=1;$i<=$total_paginas;$i++){
        if ($pagina == $i) 
            //si muestro el índice de la página actual, no coloco enlace
            echo $pagina . " ";
        else
            //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
            echo "
<a href='index_paginacion.php?pagina=" . $i . "'>" . $i . "</a";
    }
}
?>
</html>
Gracias y un saludo.