Foros del Web » Programando para Internet » PHP »

Paginacion resultados (paginator)

Estas en el tema de Paginacion resultados (paginator) en el foro de PHP en Foros del Web. Hola: Estoy incluyendo "Paginator" en una página de consultas. Al ejecutar la consulta, me da este error: Error en la consulta de conteo de registros: ...
  #1 (permalink)  
Antiguo 08/12/2004, 02:13
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Paginacion resultados (paginator)

Hola:

Estoy incluyendo "Paginator" en una página de consultas.

Al ejecutar la consulta, me da este error:

Error en la consulta de conteo de registros: Resource id #5. Mysql dijo: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #5' at line 1

No sé a qué se refiere (Resource id #5.).

¿Alguien sabe por dónde he de empezar a buscar?

Gracias.
  #2 (permalink)  
Antiguo 08/12/2004, 05:48
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
pues dice que tienes un error en la linea 1, asi que escribe la linea que te da el error y se te podrá ayudar...
  #3 (permalink)  
Antiguo 08/12/2004, 09:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias por responde.

He ido buscando y donde me da error es en:

while($row = mysql_fetch_array($_pagi_result))


el error es que esa es una sentencia no válida.

La selección la hago asi (como indica paginator):

$_pagi_sql = mysql_query("SELECT *FROM table WHERE id='$id'");
while ($row = mysql_fetch_array($_pagi_result ) )

Las variables me llegan por URL.

Haciendo comprobaciones, si hago la selección así:

$_pagi_sql = mysql_query("SELECT *FROM table WHERE id='$id'");
while ($row = mysql_fetch_array($_pagi_sql ) )

me da el error en:

$_pagi_totalReg = mysql_num_rows($_pagi_result3);
pero me muestra los resultados, ignorando el código de paginator.

No sé, investigaré más, pero si me podéis ayudar os lo agradeceré mucho, pues he de tener listo el trabajo la semana próxima y estoy atascado con la paginación.

Gracias.
  #4 (permalink)  
Antiguo 08/12/2004, 12:39
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
while($row = mysql_fetch_array($_pagi_result))

por purita casualidad no se te ha olvidado el {

osease:

while($row = mysql_fetch_array($_pagi_result)){


} // y cerrarlo

es q a veces solemos olvidar detallitos

:S
__________________
http://www.chorcha.com
  #5 (permalink)  
Antiguo 08/12/2004, 12:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
No es eso, no

Gracias por responder.

Pero la sintaxis está bien., aunque no haya puesto el código entero.

Gracias
  #6 (permalink)  
Antiguo 08/12/2004, 12:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 94
Antigüedad: 19 años, 11 meses
Puntos: 0
Hay algun script de paginacion q incluya ordenar al hacer click en las cabeceras ?? o en todo caso como se podria hacer eso?
  #7 (permalink)  
Antiguo 08/12/2004, 12:59
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
claro: mirate este:

Código PHP:
IF ($pagina>0) { $n=$pagina;} ELSE { $n=0; } 


$conta="SELECT id FROM tabla "
$result2=mysql_query($conta); 
$quants=mysql_num_rows($result2); 


$sql="SELECT * FROM tabla ORDER BY id DESC LIMIT ".$n.", 30 "
$result=mysql_query($sql,$conexio); 

//haces el while y la obtencion de datos ;)

}

FOR (
$i=0$i$quants$i=$i+30
{    
    
$a=$a+1;

    IF (
$n==$i)    
    {     
        echo 
"<A HREF='paginacion.php?pagina=".$i."'><font face=Arial size=2>[<B>".$a."</B>] </A> "
    }    
    ELSE
    { 
        echo 
"<A HREF='paginacion.php?pagina=".$i."'><font face=Arial size=2>' [".$a."]</A> ";    
    } 

__________________
http://www.chorcha.com
  #8 (permalink)  
Antiguo 08/12/2004, 18:14
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Hola javifo:

Para una consulta tan simple Paginator no debería darte error... yo sí te pido poner el código que utilizas para poder guiarte mejor porque puede ser que el error no tenga precisamente que ver con la paginación...

Saludos y gracias por utilizar Paginator
  #9 (permalink)  
Antiguo 08/12/2004, 18:16
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
José Luis:
Has planteado una pregunta interesante con eso de ordenar al hacer clic en las cabeceras... desde el punto de vista de la propagación de variables... pero otra vez digo que necesitamos tu código para no estar dando golpes a ciegas y poder ir directamente al grano.

Saludos

PD: Camargo... no veo por dónde ese código que posteaste hace lo que necesita José Luis
  #10 (permalink)  
Antiguo 08/12/2004, 18:21
Avatar de jota_22  
Fecha de Ingreso: noviembre-2004
Mensajes: 83
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola javifo si no me equivoco a mi me salio el mismo error (Resource id #5) y lo resolvi colocando lo siguiente:
Código PHP:
$_pagi_conteo_alternativo true
antes de
Código PHP:
while($row mysql_fetch_array($_pagi_result)) 
espero te sirva.
La razon no la se, espero que alguien la explique.
  #11 (permalink)  
Antiguo 08/12/2004, 18:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Bueno... esa variable fue introducida en la versión 1.5 de Paginator.
Como ya he explicado, Paginator utiliza la función COUNT() de mysql modificando el sql original mediante expresiones regulares...
Pero a través de los comentarios de los usuarios empecé a ver que no siempre este cambio funciona correctamente. Como ejemplo puedo poner un sql que contenga la cláusula GROUP BY... al combinarla con el COUNT() dará resultados, pero no los que esperamos.

Por eso creí conveniente que Paginator tuviera una forma alternativa de contar registros (que es la que todo el mundo utiliza) simplemente con mysql_num_rows(). Pero esto debería ser utilizado sólo frente a consultas complejas...

En la web de Paginator se explica más o menos la función que cumple esta variable. Pero es así como lo he puesto aquí.
Lo que recomiendo siempre es leer el ejemplo de la web y luego el "ejemplo avanzado" que ya incluye la utilización de la variables disponibles.
http://jpinedo.webcindario.com/scrip..._avanzado.html

Saludos
  #12 (permalink)  
Antiguo 09/12/2004, 01:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias

A todos, muchas gracias.
No he podio retomar el asunto. Lo haré hoy.
En cualquier caso, os diré cómo me va.
Saludos.
  #13 (permalink)  
Antiguo 09/12/2004, 02:56
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Sonrisa Solucionado

Ya funciona perfectamente.

El problema venía de lo siguiente:

Hacía la selección utilizando esta sentencia:

$_pagi_sql = mysql_query("SELECT *FROM tabla WHERE tema='$tema' ");

y daba error.

Ahora la he sustituido por:

$_pagi_sql = "SELECT *FROM tabla WHERE tema='$tema'";

y funciona perfectamente bien.

Tan sólo un detalle que esproblema mío. Me dice que muestra 3 registros de un total de 86, cuando en la tabla sólo hay 6 registros. Quizá sea porque he añadido y quitado registros.

Gracias de verdad por vuestra ayuda.

Saludos.
  #14 (permalink)  
Antiguo 09/12/2004, 03:45
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años, 6 meses
Puntos: 0
Sonrisa Dejó de funcionar y ya funciona.

Es curioso, pero de repente sólo mostraba una páfina.

He hecho lo que dice jota_22 ( $_pagi_conteo_alternativo = true;) y ya vuelve a funcionar.

Gracias a vosotros parece que podré tener un paginador.

Os cuento todo el prceso con la única intención de servir de ayuda para otros y para que jpinedo sepa de experiencias con su paginador. En ningún caso quisiera parecer un "pesado".

Cordiales saludos.
  #15 (permalink)  
Antiguo 09/12/2004, 12:52
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Hola...
Una vez más te digo que esos errores no son normales y que lo mejor sería que postees tu código...

Saludos
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 13:02.