Foros del Web » Programando para Internet » PHP »

Ayuda con la paginacion, me salen las paginas, pero en todas las paginas lo mismo

Estas en el tema de Ayuda con la paginacion, me salen las paginas, pero en todas las paginas lo mismo en el foro de PHP en Foros del Web. Hola, tengo el PHPPaging, necesito vuestra ayuda, me salen los links y todo, y el numero de paginas que tendria que haver. He puesto que ...
  #1 (permalink)  
Antiguo 09/05/2009, 04:33
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Pregunta Ayuda con la paginacion, me salen las paginas, pero en todas las paginas lo mismo

Hola, tengo el PHPPaging, necesito vuestra ayuda, me salen los links y todo, y el numero de paginas que tendria que haver.

He puesto que salgan 3 articulos por pagina, para probar.
Pero me sale bien el numero de paginas que son, pero en todas las paginas me aparacen todas las noticias.
Hice lo que pone en el tutorial basico de la web del PHPPaging

Mira, tengo esto en el index.php
Código PHP:
<?php 
require_once 'PHPPaging.lib.php'

// Instanciamos, indicando el recurso de conexión 
$paging = new PHPPaging($db_link);
$arreglo = array( 
    
=> array('a','b','c','d'), 
    
=> array('e','f','g','h'), 
    
=> array('i','j','k','l'), 
    
=> array('m','n','o','p'), 
    
=> array('q','r','s','t'), 
    
=> array('u','v','w','x'), 
    
=> array('y','z','A','B'), 
    
=> array('C','D','E','F'), 
    
=> array('G','H','I','J'), 
    
10 => array('K','L','M','N'), 
    
11 => array('O','P','Q','R'), 
    
12 => array('S','T','U','V'), 
    
13 => array('W','X','Y','Z'
); 

// Y se usa la función agregarArray() (Ver documentación) 
$paging->agregarArray($arreglo);
$paging->ejecutar();
$links $paging->fetchNavegacion(); 

echo 
$links;
?>


Y este es como se mostraran las noticias :S (list-noticias.php)
Código php:
Ver original
  1. <?php
  2. // verificamos si se ha enviado
  3. // alguna variable via GET
  4. function parrafin($string) {
  5. $article = explode("\n", $string);  
  6. $parrafo = $article[0];
  7.  return( $parrafo );
  8.  }
  9. if(isset($_GET['id']) && $_GET['categoria']){
  10. // asignamos los valores
  11. // a las variables que usaremos
  12. $cat_ID = $_GET['id'];
  13. $categoria = $_GET['categoria'];
  14. $clausula = "WHERE notCategoriaID = '$cat_ID'";
  15. // tambien armamos el titular de la pagina
  16. $titulo = "Noticias en la categoria $categoria";
  17. }else{
  18. // de lo contrario
  19. // el titulo sera general
  20. $titulo = "Todas las noticias";
  21. }
  22. if(isset($_GET['id']) && $_GET['noticia']){
  23. // asignamos los valores
  24. // a las variables que usaremos
  25. $not_ID = $_GET['id'];
  26. $noticia = $_GET['noticia'];
  27. $rowNot[notFecha] = date("Y-m-d");
  28. $clausula = "WHERE not_ID = '$not_ID'";
  29. // tambien armamos el titular de la pagina
  30. $con2 = "$rowNot[notTexto]";
  31. }else{
  32. // de lo contrario
  33. // el titulo sera general
  34. $con3 = "$string";
  35. }
  36. // armamos la consulta
  37. $sqlQueryNot = mysql_query("SELECT notTitulo, notTexto, not_ID, notImagen, notFecha, notPosteador FROM sn_noticias
  38. $clausula", $db_link)
  39. echo "<h1>$titulo</h1>";
  40. // mostramos las noticias,
  41. // otra vez usando un bucle while
  42. while($rowNot = mysql_fetch_array($sqlQueryNot)){
  43. echo "<table border='0' cellpadding='0' cellspacing='0'><tr><td rowspan='2'> <img src='$rowNot[notImagen]' class='imagenNoticia'></td><td><h1>$rowNot[notTitulo]</h1></td></tr><tr><td>Enviado el $rowNot[notFecha] por $rowNot[notPosteador]</td></tr></table><p>";
  44. echo BBcode(nl2br(substr($rowNot['notTexto'], 0, 150)));
  45. echo "<p><a href='mas.php?not_ID=$rowNot[not_ID]&categoria=$rowNot[notCategoriaID]' title='$rowNot[notTitulo]'>Seguir leyendo ".substr($rowNot[notTitulo], 0, 10)."...</a>";
  46. }
  47. ?>


Aver si me pueden ayudar
Gracias



Es el paginador que posteo okram en uno de sus aportes
__________________
SumarioWeb
@sumarioweb
BasicNews

Última edición por fcdragons; 09/05/2009 a las 08:02 Razón: Poner list-noticias y quitar repetidos
  #2 (permalink)  
Antiguo 09/05/2009, 07:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

pues estas repitiendo muchas cosas!!!!

¿¿porque haces llamadas dobles??




además, ¿¿donde y como es que imprimes los resultados???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/05/2009, 07:22
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

con resultados quieres decir noticias no¿? estan en el list-noticias :S
o los numeros de paginas, estos los imprimo con
Código php:
Ver original
  1. echo $links;

Y me podrias explicar mejor lo de las llamadas dobles :S
__________________
SumarioWeb
@sumarioweb
BasicNews
  #4 (permalink)  
Antiguo 09/05/2009, 07:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

estas son las llamadas dobles.... ¿¿para que repites esto???

Código PHP:
// Instanciamos, indicando el recurso de conexión 
$paging = new PHPPaging($db_link); 

// Instanciamos, indicando el recurso de conexión 
$paging = new PHPPaging($link);

// ...

// Y se usa la función agregarArray() (Ver documentación) 
$paging->agregarArray($arreglo);

// Y se usa la función agregarArray() (Ver documentación) 
$paging->agregarArray($arreglo); 
por cierto.... ¿¿donde esta el código de list-noticias??? ¿o quieres que adivinemos porque falla??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/05/2009, 07:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Yo no entiendo porque usan clases complejas para paginar resultados, con un simple offset en la consulta a mi me funciona de maravilla.
  #6 (permalink)  
Antiguo 09/05/2009, 07:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Cita:
Iniciado por ema21del9 Ver Mensaje
Yo no entiendo porque usan clases complejas para paginar resultados, con un simple offset en la consulta a mi me funciona de maravilla.
mmm... pues es para no repetir tanto código, ademas... ¿¿tu sabes paginar arreglos??

creo que lo mejor es no re-inventar la rueda desde cero, siempre!!

seguramente lo hagas tu, pero no todos.... lastima


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 09/05/2009, 08:05
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Aunque, no creo que sea mucha culpa del list-noticias.php, ya lo he puesto, y no me deja añadir el PHPPaging.lib.php porque es muy largo si necesitan algo mas me avisan :S

Quite lo repetido y sigue sin irme

Gracias a todos :D
__________________
SumarioWeb
@sumarioweb
BasicNews
  #8 (permalink)  
Antiguo 09/05/2009, 08:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

efectivamente estas confundido, revisa bien el tutorial de como usar la clase....

me explico, en tu primer código haces una prueba agregando un array() y en list-noticias haces mysql_query() de las noticias !!!

decide...

¿¿para que estas usando PHPPaging si estas haciendo la consulta manualmente???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 09/05/2009, 08:15
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

esque si lo hago es porque quiero que se creen por paginas las noticias es decir cuando hyan 10 noticias, se cree una apgina nueva llamad por ejemplo /index.php?=pag2 y ay se muestren otras 10
__________________
SumarioWeb
@sumarioweb
BasicNews
  #10 (permalink)  
Antiguo 09/05/2009, 08:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Cita:
Iniciado por pateketrueke Ver Mensaje
mmm... pues es para no repetir tanto código, ademas... ¿¿tu sabes paginar arreglos??

creo que lo mejor es no re-inventar la rueda desde cero, siempre!!

seguramente lo hagas tu, pero no todos.... lastima


suerte!
Con pocas lineas lo tengo hecho en mi sitio: www.hdm-tech.com

Tomo la cantidad total de registros, los divido por la cantidad que quiero mostrar y con un ceil() saco la cantidad de paginas que van a ser, de ahi le voy dando un limit a la consulta segun corresponda y un offset segun la pagina en la que esta, que es tomada a traves de un get por la url enviada, y de ahi tambien hago que se muestre la pagina en la que se esta y un link al resto, lo tengo hecho en 7 lineas mas o menos, y evito el manejo de clases complejas.
  #11 (permalink)  
Antiguo 09/05/2009, 08:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

ema21del9

expone tu código, para que sea útil para todos...

igual y así dejan de usar clases complejas...


además, te aseguro que tu mínimo código no es tan flexible como una clase compleja, como dices.... y que claramente, esta, supera por mucho un código de 7 lineas...

experimenta por ti mism@...

http://scripts.phperu.net/paging/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 09/05/2009, 08:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Cita:
Iniciado por pateketrueke Ver Mensaje
ema21del9

expone tu código, para que sea útil para todos...

igual y así dejan de usar clases complejas...


además, te aseguro que tu mínimo código no es tan flexible como una clase compleja, como dices.... y que claramente, esta, supera por mucho un código de 7 lineas...

experimenta por ti mism@...

http://scripts.phperu.net/paging/
Estoy de acuerdo en eso, quizas me exprese mal, si es para algo simple como quiere hacer este usuario, conviene hacer un simple codigo a utilizar una clase de la cual solo se va a utilizar el 10% de su utilidad.

Aca esta el codigo:

Código PHP:
$id_category=$_GET["id_category"];
$page=$_GET["page"];

$offset_result=mysql_db_query($db,"select * from products where category='$id_category'");
$rows=mysql_num_rows($offset_result);
$pages=ceil($rows/8);
$offset_page=$page-1;
$articulos=8;
$offset=$articulos*$offset_page;

$result=mysql_db_query($db,"select * from products where category='$id_category' order by product asc limit $articulos offset $offset"); 
  #13 (permalink)  
Antiguo 09/05/2009, 08:52
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

bueno pateketrueke, ya se a que te referias. Por eso he quitado el list-noticia.php y he puesto la paginacion...

Mira he puesto esto:
Código php:
Ver original
  1. <table border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
  2.     <?php
  3.     require_once 'PHPPaging.lib.php';
  4.      
  5.         // Apertura de la conexión a la base de datos e Inclusión del script
  6.          
  7.         // Instanciamos el objeto
  8.         $paging = new PHPPaging;
  9.          
  10.         // Indicamos la consulta al objeto  
  11.         $paging->agregarConsulta("SELECT * FROM sn_noticias ORDER BY fecha ASC");
  12.          
  13.         // Ejecutamos la paginación
  14.         $paging->ejecutar();  
  15.          
  16.         // Imprimimos los resultados, para esto creamos un ciclo while
  17.         // Similar a while($datos = mysql_fetch_array($sql))
  18.         while($datos = $paging->fetchResultado()) {  
  19.             echo "<tr>";  
  20.             echo "<td rowspan='4'><img src='".$datos['notImagen']."' class='imagenNoticia'></td>";  
  21.             echo "<td>".$datos['notTitulo']."</td></tr>";  
  22.             echo "<tr><td> Enviado el ".$datos['notFecha']." por ".$datos['nick']."</td></tr>";  
  23.             echo "<tr><td>".$datos['notTexto']."</td></tr>";
  24.             echo "<tr><td><a href='mas.php?not_ID=".$rowNot[not_ID]."&categoria=".$rowNot[notCategoriaID]."' title=".$rowNot[notTitulo].">Seguir leyendo ".substr($rowNot[notTitulo], 0, 10)."...</a></td>";
  25.             echo "</tr>";  
  26.         }  
  27.      
  28.     ?>
  29.     </table>
  30.     <?php
  31.     // Imprimimos la barra de navegación
  32.     echo "<b>Navegación</b>: ".$paging->fetchNavegacion();
  33. ?>


Asi se supone que me tendria que ir bien.

Pero me da un error el PHPPaging.lib.php

PHPPaging - Error
Hubo un error al intentar ejecutar la paginación de los resultados. Por favor, comuníquese con el responsable de este sitio

asique hay algo que esta mal, ya mire, y no vi nada raro, aver si ustedes lo ven :S

Creo que si arreglo este error tiene que ir
__________________
SumarioWeb
@sumarioweb
BasicNews
  #14 (permalink)  
Antiguo 09/05/2009, 09:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

has un SELECT simple sin orden, y sin grupo...

Código:
SELECT * FROM tabla
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 09/05/2009, 09:31
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
si, ya me va!!! Gracias pateketrueke

Pero ahora como puedo ordenarlo por fecha? :S
__________________
SumarioWeb
@sumarioweb
BasicNews

Última edición por GatorV; 09/05/2009 a las 13:32
  #16 (permalink)  
Antiguo 09/05/2009, 09:43
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Código php:
Ver original
  1. SELECT * FROM sn_noticias ORDER BY fecha ASC
Código php:
Ver original
  1. $datos['notFecha']
Tu campo de fecha se llama fecha o notFecha?

  #17 (permalink)  
Antiguo 09/05/2009, 09:49
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

ayy es verdad me quivoque al pone el nombre del campo, aver ahora
__________________
SumarioWeb
@sumarioweb
BasicNews
  #18 (permalink)  
Antiguo 09/05/2009, 09:51
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

Pero es que inicialmente estabas poniendo fecha, por eso obtenías el mensaje de error. La consulta debería ser

Código sql:
Ver original
  1. SELECT * FROM sn_noticias ORDER BY notFecha ASC

  #19 (permalink)  
Antiguo 09/05/2009, 12:14
Avatar de fcdragons  
Fecha de Ingreso: agosto-2008
Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 15 años, 8 meses
Puntos: 13
Respuesta: Ayuda con la paginacion, me salen las paginas, pero en todas las paginas l

ya gracias ya lo arregle, y para saber la hora¿?
__________________
SumarioWeb
@sumarioweb
BasicNews
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 04:15.