Foros del Web » Programando para Internet » PHP »

Problema y duda con Paginación PHP

Estas en el tema de Problema y duda con Paginación PHP en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/06/2007, 14:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 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.
  #2 (permalink)  
Antiguo 25/06/2007, 19:13
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Re: Problema y duda con Paginación PHP

Hola JinRoh

Me parece que te entiendo, lo que podrias hacer es una consulta del tipo
Código PHP:
$consulta "SELECT * FROM tabla_videos";
$query mysql_query($consulta); 
Como tu paginas 15 registros por pagina, posteriormente haces un:
Código PHP:
$i 1;
while (
$fila mysql_fetch_assoc($query)) {
  
$i++;
  if (
$_GET["video"] == $fila["id"]) { $div round($i 15); break; }

Esto deberia devolver el numero asociado en la variable $div, no es la forma mas adecuada para optimizar recursos, pero es valida.

Estuve buscando alguna referencia del numero de fila en cuestion, pero solo me retornaba el numero de filas afectadas.

Saludos

__________________
Roberto Osses Elgueta
Senior Web Developer
  #3 (permalink)  
Antiguo 26/06/2007, 05:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

Me perdi pero mucho :P Soy bastante novato en PHP, y ya de MySql directamente no sé nada.

Gracias por la ayuda pero... ¿donde exactamente tengo que introducir ese código? (en que parte) y además, el código hace referencia a $div, el cual yo no uso ni tengo definido en el ejemplo.

Gracias por la ayuda.
  #4 (permalink)  
Antiguo 26/06/2007, 15:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

He intentado probar el código, pero parece que no va ( me da errores y demás ). Sabrías si hay alguna forma de hacerlo, con otro código, o podrias darme el codigo ya con eso incluido? (Mi código esta en el primer mensaje)

Si conoces algún tutorial, o algun ejemplo que hable de esto mismo también podriais recomendarmelo, he encontrado muchos de "paginación php", pero ninguno que aborde lo que yo quiero hacer.
  #5 (permalink)  
Antiguo 26/06/2007, 19:46
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Re: Problema y duda con Paginación PHP

Puedo modificarte el codigo, ahi tienes $video, el tema es donde quieres mostrarlo ahora :P
__________________
Roberto Osses Elgueta
Senior Web Developer
  #6 (permalink)  
Antiguo 27/06/2007, 01:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

No te entiendo. El código está en el primer mensaje (es un "ejemplo" para primero ver como funciona lo de paginación y luego pasarlo a mi página real)

En el código posteado ya venia definido $video, por lo que deberia estar todo listo, para probarlo por ejemplo con index_paginacion.php?video=30 o index_paginacion.php?pagina=2 (lo segundo funciona bien, lo primero carga la variable que no sirve para nada en la página de prueba, pero no va a su página correspondiente, que es lo que yo queria hacer)

Última edición por JinRoh; 27/06/2007 a las 01:47
  #7 (permalink)  
Antiguo 27/06/2007, 04:43
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

Cita:
Iniciado por jpinedo Ver Mensaje
En el archivo login.php puedes ver cómo se encripta el password.
Cuando un usuario se registra, vBulletin le asigna aleatoriamente una cadena de tres caracteres denominada "salt" y se guarda en la base de datos junto a los datos del usuario.

La manera más común de encriptar es:
Código PHP:
addslashes(md5(md5($newpassword) . $userinfo['salt'])) 
Puedes, como dije, ver en tu archivo login.php.

Saludos,

Te equivocaste de tema :P
  #8 (permalink)  
Antiguo 27/06/2007, 04:44
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Problema y duda con Paginación PHP

Cita:
Iniciado por JinRoh Ver Mensaje
Te equivocaste de tema :P
Justo lo borré esperando que nadie lo haya leído :p . Pero ya lo posteé donde tenía que estar.

Gracias.
  #9 (permalink)  
Antiguo 27/06/2007, 07:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

Cita:
Iniciado por jpinedo Ver Mensaje
Justo lo borré esperando que nadie lo haya leído :p . Pero ya lo posteé donde tenía que estar.

Gracias.
Jeje.
¿Y sobre mi tema no conoces nada que pueda ayudarme?
Saludos

Última edición por JinRoh; 27/06/2007 a las 13:59
  #10 (permalink)  
Antiguo 28/06/2007, 14:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema y duda con Paginación PHP

Lo subo a ver si hay alguien que pueda ayudarme.
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 11:33.