Foros del Web » Programando para Internet » PHP »

Otra más respecto al script del paginado

Estas en el tema de Otra más respecto al script del paginado en el foro de PHP en Foros del Web. Alguien sabe por qué solo me muestra la 1ª página de los resultados? He puesto la variable $rs->porPagina en 10 los registros a mostrar en ...
  #1 (permalink)  
Antiguo 10/07/2002, 18:04
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Otra más respecto al script del paginado

Alguien sabe por qué solo me muestra la 1ª página de los resultados?
He puesto la variable $rs->porPagina en 10 los registros a mostrar en cada página. El caso es que si por ejemplo la tabla tiene 44 registros me aparecen 5 páginas pero después al pulsar sobre cualquiera de ellas solo me muestra los 10 primeros registros.

Muchas gracias.
  #2 (permalink)  
Antiguo 11/07/2002, 03:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: Otra más respecto al script del paginado

Hola de nuevo,

Como sigo investigando esta maravillosa clase (todavia no la he probado), creo que se lo que te pasa.

Por lo que he leido debes indicar a la clase la pagina que quieres que muestre, con la funcion pagina(). La variable $pagina contiene ese valor, con lo que el codigo quedaria:
Código:
$obj->pagina($pagina);
Al menos es lo que deduzco de la documentacion y del codigo.


Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 11/07/2002, 16:42
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Re: Otra más respecto al script del paginado

He probado a colocar esa línea en el programa, no en la clase, así te he entendido y el error que me da es el siguiente:

Call to a member function on a non-object

¿Me puedes dar alguna pista?
Muchas gracias y un saludo
  #4 (permalink)  
Antiguo 11/07/2002, 18:40
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Otra más respecto al script del paginado

ADso, si has copiado TEXTUALMENTE lo siguiente :

$obj->pagina($pagina);

te comento que asi no te funcionará nunca porque dudo que hayas instanciado al objeto en la variable $obj. En todo caso deberías cambiar $obj por el nombre de la variable en la que has instanciado el objeto.

De todas maneras, te recomiendo siempre que leas la documentación de la clase, que se encuentra en :
<a href='ir.asp?http://www.web-studio.com.ar/proyectos/paginado/paginado_documentacion.htm' target='_blank'>http://www.web-studio.com.ar/proyectos/p...</a>
y sigas el ejemplo que alli doy, ya que de esa manera sabrás como es el correcto manejo de la clase.

También te recomendaría que leas algo sobre Objetos, para ello, visita <a href='ir.asp?http://www.phpbuilder.com' target='_blank'>http://www.phpbuilder.com...</a> que tienen buena información al respecto.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #5 (permalink)  
Antiguo 12/07/2002, 13:22
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Re: Otra más respecto al script del paginado

Gracias Webestudio por tu respuesta. Me documentaré sobre los objetos.
De todas formas te comento que la dirección que me has dado:
<a href='ir.asp?http://www.web-studio.com.ar/proyectos/p...' target='_blank'>http://www.web-studio.com.ar/proyectos/p...</a>

No muestra nada, es decir la pantalla en blanco, he intentado varias veces y en ninguna ocasión ha funcionado. No sé si tendrás bien la página o es una cuestión puntual, de todas formas te lo comento por si quieres mirar si lo tienes bien.
Un saludo.
  #6 (permalink)  
Antiguo 12/07/2002, 15:40
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Otra más respecto al script del paginado

Revisa mejor tu maquina o conexion, porque la direccion es esa y funciona. Lo he comprobado recien. DE todos modos, te lo dejo sin &quot;link&quot; para que Copies/Pegues.

http://www.web-studio.com.ar/proyectos/paginado/paginado_documentacion.htm

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #7 (permalink)  
Antiguo 12/07/2002, 17:32
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Re: Otra más respecto al script del paginado

Ya me ha funcionado el link, no sé que pasó antes.
De todas formas el 2º link que me diste te lo agradezco pero uno de mis puntos débiles es el inglés y no me vale de mucho.
De todas formas no entiendo si lo único que he hecho ha sido copiar y pegar la clase y colocar la base de datos y la tabla ha utilizar por mi web, por qué no funciona o sea por qué solo me muestra solo los 10 primeros resultados ¿tal vez tengo que crear yo alguna otra variable como esa que me decía Josemi y lo estoy haciendo mal?
Tal vez soy un poco duro de cabeza y a pesar de que me estais dando la solución yo no la veo.
Perdonad si soy un poco pesado.
De todas formas sigo &quot;investigando&quot; hasta que pueda solucionarlo.
Si podeis darme alguna pista agradecido estoy.
De todas formas muchas gracias por vuestras respuestas.
Un saludo
  #8 (permalink)  
Antiguo 12/07/2002, 17:57
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Re: Otra más respecto al script del paginado

Para una mejor aclaración coloco aquí el código de la página que estoy haciendo a ver si veis dóde me equivoco.
La clase simplemente está copiada, o sea que no he hecho ninguna modificación, por eso no la pongo aqui.
Gracias de nuevo por vuestra paciencia.

Código:
&lt;?    
include(&quot;cabezaver.html&quot;);
include(&quot;menu.html&quot;);
//Conectamos a la base de datos
$Conn= mysql_connect(&quot;localhost&quot;, &quot;&quot;, &quot;&quot;);
mysql_select_db(&quot;ongs&quot;);
mysql_connect(&quot;localhost&quot;,&quot;&quot;,&quot;&quot;);
$pagina= $HTTP_GET_VARS[&quot;ongs.php?pagina=&lt;?=$pagina?&gt;&amp;provi=&lt;?=$nombre2?&gt;&amp;local=&lt;?=$nombre1?&gt;&quot;];
include(&quot;class.paginado.php&quot;);
$rs = new paginado($Conn); // instanciamos un objeto
$obj =new paginado($conn);
$rs-&gt;pagina($pagina); // Le indicamos en que página estamos - 1 por defecto
$rs-&gt;porPagina(10); // Le decimos cuantos registros por página queremos - 10 por defecto
$rs-&gt;propagar(&quot;provi&quot;); // Le decimos las variables que queremos propagar en los links
$rs-&gt;propagar(&quot;local&quot;);
//Presentamos los resultados
$result=mysql_db_query(&quot;ongs&quot;, &quot;select * from $provi order by localidad&quot;);
//Consulta sobre el número de filas que contiene la bd.
$consulta=&quot;select id from $provi&quot;;
$query=mysql_query($consulta);
$filas=mysql_num_rows($query);
if(!$rs-&gt;query( &quot;SELECT * FROM $provi order by localidad&quot;)) // Y ejecutamos nuestra consulta.
{
    die( $rs-&gt;error() ); // Si Query devolvió falso, hubo un error y lo mostramos.
}
echo &quot;Mostrando &quot;.$rs-&gt;desde().&quot; - &quot;.$rs-&gt;hasta().&quot; de un total de &quot;.$rs-&gt;total().&quot; ongs en &quot;.$local.&quot;&lt;br&gt;&quot;;

//Mostramos los registros
while ($row= $rs-&gt;obtenerArray())
{
$organizacion=$row[&quot;organizacion&quot;];
$direccion=$row[&quot;direccion&quot;];
$localidad=$row[&quot;localidad&quot;];
$codigop=$row[&quot;codigo_postal&quot;];
$telefono=$row[&quot;telefono&quot;];
$fax=$row[&quot;fax&quot;];
$email=$row[&quot;email&quot;];
$web=$row[&quot;web&quot;];
$actividad=$row[&quot;actividad&quot;];
?&gt;
&lt;table class=&quot;tdecol&quot; bgcolor=&quot;#FFFF99&quot; width=500&gt;&lt;tr&gt;
&lt;td&gt;&lt;?printf($organizacion);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Direcci&amp;oacute;n: &amp;nbsp;&lt;?printf($direccion);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Localidad: &amp;nbsp;&lt;?printf($localidad);?&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;oacute;digo postal: &amp;nbsp;&lt;?printf($codigop);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tel&amp;eacute;fono: &amp;nbsp;&lt;?printf($telefono);?&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fax: &amp;nbsp;&lt;?printf($fax);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E-mail: &amp;nbsp;&lt;a href=&quot;mailto:&lt;?=$email;?&gt;&quot;&gt;&lt;?printf($email);?&gt;&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Web: &amp;nbsp;&lt;a href=&quot;&lt;?=$web?&gt;&quot;&gt;&lt;?printf($web);?&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Actividad:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;?printf($actividad);?&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;p&gt;
&lt;?
} 

// Finalmente mostramos los medios para la navegación entre los resultados.
echo $rs-&gt;anterior().&quot; - &quot;.$rs-&gt;nroPaginas().&quot; - &quot;.$rs-&gt;siguiente();
mysql_close;
include(&quot;pie.html&quot;);
  #9 (permalink)  
Antiguo 12/07/2002, 22:46
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
Re: Otra más respecto al script del paginado

En vista de que el codigo de Webestudio es algo largo, por ahi encontre este otro que no me va muy bien solamente el paginado, porque tambien me muestra el total de noticias en la bd que se encuentran divididas por EJEMPLO: :
noticias.php?secc=actualidad y este es el codigo: ¿Alguien sabe el error?

IF ($num&gt;0) {
$n=$num;
} ELSE {
$n=0;
}

$conta=&quot;SELECT id FROM noticias WHERE seccion LIKE '$secc' &quot;;
$result2=mysql_query($conta,$conexio);
$quants=mysql_num_rows($result2);

$sqlep=&quot;SELECT * FROM noticias ORDER BY id DESC LIMIT &quot;.$n.&quot;, 15&quot;;
$resulte=mysql_query($sqlep,$conexio);

echo &quot;&lt;HR size=1 color=black width=340&gt;&lt;TABLE BORDER='0' ALIGN='center' WIDTH='340'&gt;&lt;TR&gt;&quot;;

echo &quot;&lt;TD ALIGN='left'&gt;&lt;font face=Tahoma size=2&gt; Encontrada(s) &quot;.$quants.&quot; noticia(s) &lt;/font&gt;&lt;/TD&gt;&quot;;

echo&quot;&lt;TD ALIGN='RIGHT'&gt;&quot;;
echo &quot;&lt;FONT FACE='Tahoma' SIZE='2' COLOR='#336699'&gt;Páginas: &lt;/FONT&gt;&quot;;

IF ($rowe=mysql_fetch_array($resulte)){

FOR ($i=0; $i&lt; $quants; $i=$i+15)
{
$a=$a+1;

IF ($n==$i)
{
echo &quot;&lt;A HREF='noticias.php?secc=&quot;.$rowe[&quot;seccion&quot;].&quot;&amp;num=&quot;.$i.&quot;'&gt;
&lt;font size=1 color=#336699 face=Tahoma&gt;[&quot;.$a.&quot;]&lt;/A&gt; &quot;;
}
ELSE
{
echo &quot; &lt;A HREF='noticias.php?secc=&quot;.$rowe[&quot;seccion&quot;].&quot;&amp;num=&quot;.$i.&quot;'&gt;&lt;b&gt;[&quot;.$a.&quot;]&lt;/b&gt;&lt;/A&gt; &quot;;
}
}
}
WHILE ($rowe=mysql_fetch_array($resulte));

echo &quot;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&quot;;
mysql_close ($conexio);
  #10 (permalink)  
Antiguo 13/07/2002, 02:06
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Otra más respecto al script del paginado

ADso, tenés una ensalada rusa en ese código. Esta es la versión que logré después de limpiar un poco tu código, y de ver algunos errores :

&lt;?php
include(&quot;cabezaver.html&quot;);
include(&quot;menu.html&quot;);
//Conectamos a la base de datos
$Conn= mysql_connect(&quot;localhost&quot;, &quot;&quot;, &quot;&quot;);
mysql_select_db(&quot;ongs&quot;);
$pagina = $HTTP_GET_VARS[&quot;pagina&quot;];
include(&quot;class.paginado.php&quot;);
$rs = new paginado($Conn); // instanciamos un objeto
$rs-&gt;pagina($pagina); // Le indicamos en que página estamos - 1 por defecto
$rs-&gt;porPagina(10); // Le decimos cuantos registros por página queremos - 10 por defecto
$rs-&gt;propagar(&quot;provi&quot;); // Le decimos las variables que queremos propagar en los links
$rs-&gt;propagar(&quot;local&quot;);
//Presentamos los resultados
//Consulta sobre el número de filas que contiene la bd.
if(!$rs-&gt;query( &quot;SELECT * FROM $provi order by localidad&quot;)) // Y ejecutamos nuestra consulta.
{
die( $rs-&gt;error() ); // Si Query devolvió falso, hubo un error y lo mostramos.
}
echo &quot;Mostrando &quot;.$rs-&gt;desde().&quot; - &quot;.$rs-&gt;hasta().&quot; de un total de &quot;.$rs-&gt;total().&quot; ongs en &quot;.$local.&quot;&lt;br&gt;&quot;;

//Mostramos los registros
while ($row= $rs-&gt;obtenerArray())
{
$organizacion=$row[&quot;organizacion&quot;];
$direccion=$row[&quot;direccion&quot;];
$localidad=$row[&quot;localidad&quot;];
$codigop=$row[&quot;codigo_postal&quot;];
$telefono=$row[&quot;telefono&quot;];
$fax=$row[&quot;fax&quot;];
$email=$row[&quot;email&quot;];
$web=$row[&quot;web&quot;];
$actividad=$row[&quot;actividad&quot;];
?&gt;
&lt;table class=&quot;tdecol&quot; bgcolor=&quot;#FFFF99&quot; width=500&gt;&lt;tr&gt;
&lt;td&gt;&lt;?printf($organizacion);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Direcci&amp;oacute;n: &amp;nbsp;&lt;?printf($direccion);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Localidad: &amp;nbsp;&lt;?printf($localidad);?&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;oacute;digo postal: &amp;nbsp;&lt;?printf($codigop);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tel&amp;eacute;fono: &amp;nbsp;&lt;?printf($telefono);?&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fax: &amp;nbsp;&lt;?printf($fax);?&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E-mail: &amp;nbsp;&lt;a href=&quot;mailto:&lt;?=$email;?&gt;&quot;&gt;&lt; ?printf($email);?&gt;&lt;/a&gt;

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #11 (permalink)  
Antiguo 13/07/2002, 02:08
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Otra más respecto al script del paginado

Básicamente tu error estaba en esta linea :

Básicamente tu error estaba en esta linea : $pagina= $HTTP_GET_VARS[&quot;ongs.php?pagina=&lt;?=$pagina?&gt;&amp;provi =&lt;?=$nombre2?&gt;&amp;local=&lt;?=$nombre1?&gt; &quot;];

Ya que esa NO es la manera de pedir un parámetro pasado por URL, por eso en $página tenias el valor 0 y si a la clase le pasas 0 (que en PHP puede ser tomado como &quot;nada&quot;), toma el valor por defecto 1, o sea, la primera pagina siempre.

saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #12 (permalink)  
Antiguo 13/07/2002, 05:17
 
Fecha de Ingreso: marzo-2002
Mensajes: 88
Antigüedad: 15 años, 9 meses
Puntos: 1
Re: Otra más respecto al script del paginado

Muchas gracias Webstudio, efectivamente el problema era el $HTTP_GET_VARS.
Lo que hace el saber.
Pero esto seguro que no me vuelve a ocurrir.
Te estoy muy agradecido, a ver cuando llega el día en que yo pueda ayudar a otros como haces tu.
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 08:32.