Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Dudas con Paginator

Estas en el tema de Dudas con Paginator en el foro de Sistemas de gestión de contenidos en Foros del Web. Este es el código de consulta a mi base de datos: Código: <? $sql="SELECT dir_categorias.id, url,dir_paginas.titulo, dir_paginas.descripcion, dir_paginas.keywords, dir_paginas.id as pid, aceptada , dir_paginas.tipo as ...
  #1 (permalink)  
Antiguo 27/08/2004, 11:09
 
Fecha de Ingreso: febrero-2003
Mensajes: 67
Antigüedad: 21 años, 2 meses
Puntos: 0
Dudas con Paginator

Este es el código de consulta a mi base de datos:

Código:
<? 
 	    $sql="SELECT
			dir_categorias.id,
			url,dir_paginas.titulo,
			dir_paginas.descripcion,
			dir_paginas.keywords,
			dir_paginas.id as pid,
			aceptada ,
			dir_paginas.tipo as tp
			FROM
			dir_paginas,
			dir_categorias,
			dir_locations
			WHERE
				dir_paginas.id = dir_locations.idpagina AND
				dir_categorias.id = dir_paginas.idcategoria AND
				dir_paginas.aceptada=1 AND
				dir_locations.id=".$l."
				and dir_categorias.id=".$c_c["id"];	
			$sql.=" order by dir_paginas.tipo DESC,dir_paginas.url";

	$ya=0;
	$result=mysql_query($sql)or die($sql.mysql_error());
	while($row=mysql_fetch_array($result)){
	  ?>
Donde debo colocar:

Código:
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 10;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
  #2 (permalink)  
Antiguo 27/08/2004, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No sé si leistes la documentación y ejemplos de uso de "Paginator" ...

http://jpinedo.webcindario.com/scrip.../ejemplos.html

Pero, .. fijate bien:

$_pagi_sql es la variable que contiene tu SQL original . para que "Paginator" la tome .. la procese y le incluya las otras sentencias SQL necesarias para "paginar" como LIMIT y demás ...

Un saludo,
  #3 (permalink)  
Antiguo 28/08/2004, 07:48
 
Fecha de Ingreso: febrero-2003
Mensajes: 67
Antigüedad: 21 años, 2 meses
Puntos: 0
Si que leí los ejemplos y he seguido sus instrucciones pero me temo que el paginator no me sirve.

¿Existe algún tutorial donde poder hacer uno propio?
  #4 (permalink)  
Antiguo 12/10/2004, 23:53
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
Perdón por la demora en aparecer:
Este es el orden correcto en que debe ponerse.
Y por favor especifica qué es lo que no funciona para poder ayudarte.
Código PHP:
<?php
$_pagi_sql
="SELECT dir_categorias.id, url,dir_paginas.titulo, dir_paginas.descripcion, dir_paginas.keywords, dir_paginas.id as pid, aceptada, dir_paginas.tipo as tp FROM    dir_paginas, dir_categorias, dir_locations WHERE dir_paginas.id = dir_locations.idpagina AND dir_categorias.id = dir_paginas.idcategoria AND dir_paginas.aceptada=1 AND dir_locations.id=".$l." and dir_categorias.id=".$c_c["id"];    
$_pagi_sql.=" order by dir_paginas.tipo DESC,dir_paginas.url";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 10;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
while(
$row=mysql_fetch_array($_pagi_result)){
?>
Espero funcione. No debería haber mayor problema
Saludos
  #5 (permalink)  
Antiguo 13/10/2004, 02:28
 
Fecha de Ingreso: febrero-2003
Mensajes: 67
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias por responder.

Como no soy experto en estos temas y el script donde pretendo utilizar tu paginator, me lo dieron hecho, me he limitado a copiar y pegar sobre lo que había. Por desgracia, dificilmente voy a poder ser específico, porque soy un amateur en esto del php.

En definitiva, este es el error que me muestra en local:

Warning: Unable to jump to row 0 on MySQL result index 10 in c:\archivos de programa\easyphp\www\webprueba\paginator.inc.php on line 119

Este error se genera en una categoría en donde no existen resultados para paginar, si navego a las categorías en donde si existen resultados para paginar, no aparece el error pero tampoco actua el paginator.

Es posible, que el problema este en alguna instrucción o caracteristica de mi script, pero no acierto a adivinar donde puede estar el problema.

Saludos.
  #6 (permalink)  
Antiguo 13/10/2004, 19:32
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
ok...
Primero resolvamos el tema de donde sí hay resultados que mostrar.
Cuando te digo que seas específico me refiero a que pongas los mensajes de error que te pueda dar el parser (cosa que has hecho) y en el caso de que no te muestre mensajes de error, expliques un poco más qué significa "no funciona"... o sea qué es lo que obtienes.
ah!... otra cosa... en el código que te puse me faltó agregar la barra de navegación...
En realidad me gustaría que leas el ejemplo de la web y me digas qué parte no se entiende bien a ver si la mejoro.

Lo de la barra de navegación:
Podría quedar algo así:
Código PHP:
<?php 
$_pagi_sql
="SELECT dir_categorias.id, url,dir_paginas.titulo, dir_paginas.descripcion, dir_paginas.keywords, dir_paginas.id as pid, aceptada, dir_paginas.tipo as tp FROM    dir_paginas, dir_categorias, dir_locations WHERE dir_paginas.id = dir_locations.idpagina AND dir_categorias.id = dir_paginas.idcategoria AND dir_paginas.aceptada=1 AND dir_locations.id=".$l." and dir_categorias.id=".$c_c["id"];     
$_pagi_sql.=" order by dir_paginas.tipo DESC,dir_paginas.url"
//cantidad de resultados por página (opcional, por defecto 20) 
$_pagi_cuantos 10

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente 
include("paginator.inc.php");
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
while(
$row=mysql_fetch_array($_pagi_result)){ 
?>
También pon esta línea al comienzo de todo este archivo
Código PHP:
<?php error_reporting(E_ALL);?>
De esa manera fuerzas a que se te muestren los mensajes de error.

Saludos
  #7 (permalink)  
Antiguo 14/10/2004, 08:20
 
Fecha de Ingreso: febrero-2003
Mensajes: 67
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias de nuevo.

He seguido tus instrucciones y revisado tu web (respecto de la misma no debes preocuparte, esta muy clara y entendible) y tu parser funciona perfectamente, el problema, sin lugar a dudas, soy yo y mi ignorancia. Efectivamente con añadir la barra de navegación, fue suficiente.

Te explico lo que observo:

En las páginas donde no hay resultados que mostrar aparece el error que ya te comentaba:
Warning: Unable to jump to row 0 on MySQL result index 10 in c:\archivos de programa\easyphp\www\webprueba\paginator.inc.php on line 122.

En las que hay registros que mostrar (el pagi_cuantos lo he puesto a 3), realiza perfectamente el conteo y muestra los registros. No genera error alguno.

Pero, como al parecer, el script que manejo tiene distintas condiciones, cualificaciones y ordenación para los registros a mostrar, al incorporar <?php error_reporting(E_ALL);?> se muestran errores que, a pesar de mis escasos conocimientos, parecen provenir de mi script y no de tu parser.

Me gustaría poder incorporarlo aunque me obligue a modificar mi script, pero no me siento capacitado sin ayuda.

Tu dirás, aunque en todo caso, sería mejor continuar en privado.
  #8 (permalink)  
Antiguo 14/10/2004, 22:15
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
La verdad es posible que tenga que ajustar algo en el script para que no se muestre ese error cuando no hay registros.... no lo sé.
He recibido montones de emails con preguntas sobre el paginator, algunos MP's en este foro y otras dudas posteadas en los comentarios de la web del paginator... y solamente una vez alguien me dijo que le daba el mismo error... curiosamente también en una consulta a varias tablas... aunque esa vez el error no estaba en el Paginator, sino en el SQL que no estaba bien generado... sería cuesitón de revisarlo.

Ahora estoy con poco tiempo para hacer esas pruebas... pero seguramente lo haré pronto.
Como igual hay un "while" para leer los registros, por ahora puedes descativar los "warning" para que no se te muestre ese error.
Código PHP:
<?php error_reporting(~E_ALL);?>
Con esa línea no se te mostrará ningún error... ojo que los oculta pero no quiere decir que no existan.

Saludos
PD: Sería bueno que me escribas un email jorpinedo[arroba]yahoo.es
  #9 (permalink)  
Antiguo 24/10/2004, 22:33
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
Hola...
Hay una mejora que estoy probando en la que corrijo los errores originados por consultas complejas ...
Ahora mismo te envío por email el paginator.inc.php para que lo pruebes... pero yo sigo pensando que en tu caso el error no está dentro del paginator, sino en la programación... pero igual esta modificación te sevirá.

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 21:10.