Foros del Web » Programando para Internet » PHP »

Inconveniente con Paginator de jpinedo

Estas en el tema de Inconveniente con Paginator de jpinedo en el foro de PHP en Foros del Web. la verdad muy bueno el script. lamentablemente no me esta funcionando, cuando le pido que me mueste la barra de navegacion, no la trae y ...
  #1 (permalink)  
Antiguo 20/02/2006, 09:06
Avatar de El Condor  
Fecha de Ingreso: febrero-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
Inconveniente con Paginator de jpinedo

la verdad muy bueno el script. lamentablemente no me esta funcionando, cuando le pido que me mueste la barra de navegacion, no la trae y despeus cuan le puido que me muestre la variable $_pagi_info me devuelve esyo:pagi result: desde el 1 hasta el (SA YOON HYUNG) de un total de (SA YOON HYUNG)

Aqui les dejo el codigo de la pagina para ver si pueden ver el error. lo unico que no les coloco es la coneccion, la cual se que me funciona bien por que me esta trayendo los registros y tambien se que el archivo lo esta incluyendo bien por que me trae solamente los primeros 50 registros.

Código PHP:

//seteo idcli y clase a vacio.
$idcli "";
$clase "";

//Sentencia sql (sin limit)
$_pagi_sql "SELECT pe_ape, pe_nro, pe_pis, pe_dep, pe_loc, pe_tel, pe_nom, pe_num, pe_cal, pe_cel
from ggpers
where codcli='KOR' and pe_ape != '' and pe_nom != ''
order by pe_ape"
;

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 50;


//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator/paginator.inc.php");
  
//imprimo la cabecera de la tabla.
echo "<table width='995' border='0' align='center' cellpadding='1' cellspacing='1' class='texto'> \n"
  echo 
"<tr class='tablatitulo'>
    <td width='8%'> <div align='center'><strong>Numero</strong></div></td>
    <td width='26%'><div align='center'><strong>Razon Social </strong></div></td>
    <td width='18%'><div align='center'><strong>Calle</strong></div></td>
    <td width='7%'><div align='center'><strong>Nmro</strong></div></td>
    <td width='5%'><div align='center'><strong>Piso</strong></div></td>
    <td width='5%'><div align='center'><strong>Dep</strong></div></td>
    <td width='11%'><div align='center'><strong>Localidad</strong></div></td>
    <td width='11%'><div align='center'><strong>Telefeno</strong></div></td>
    <td width='9%'><div align='center'><strong>Celular</strong></div></td>
  </tr>
 \n"


//Leemos y escribimos los registros de la página actual
while($registro mysql_fetch_array($_pagi_result)){
    if( 
$registro['pe_ape'] != $idcli){
        
        if( 
$clase == "fila1"){
            
$clase "fila2";
        }else{
            
$clase "fila1";
        }
    
        if( 
$idcli != ""){
            
            
$idcli $registro['pe_ape'];
            echo(
"<tr><td colspan='10' bgcolor='#FFFFFF'><img src='imagenes/spacer.gif' width='1' height='1'/></td></tr>
            <tr class = "
.$clase.">
            <td align='center'>"
.$registro['pe_num']."</td>
            <td><strong>"
.$registro['pe_ape']."</strong>, ".$registro['pe_nom']."</td>");
            
        }else{
        
            
$idcli $registro['pe_ape'];
            echo(
"<tr  class = ".$clase.">
            <td align='center'>"
.$registro['pe_num']."</td>
            <td><strong>"
.$registro['pe_ape']."</strong>, ".$registro['pe_nom']."</td>");
        
        }
        
        
        
    }else{
    
        echo(
"<tr class = ".$clase.">
        <td align='center'>"
.$registro['pe_num']."</td>
        <td><strong>"
.$registro['pe_ape']."</strong>, ".$registro['pe_nom']."</td>");
    
    }

    echo 
"
    <td >"
.$registro['pe_cal']."</td>
    <td align='center'>"
.$registro['pe_nro']."</td>
    <td align='center'>"
.$registro['pe_pis']."</td>
    <td align='center'>"
.$registro['pe_dep']."</td>";
    
    if( 
$registro['pe_loc'] != "CAPITAL FEDERAL"){
        echo 
"<td align='center'>".$registro['pe_loc']."</td>";
    }else{
        echo 
"<td align='center'>Cap Fed</td>";
    } 
    
    echo(
"<td align='center'>".$registro['pe_tel']."</td>
    <td align='center'>"
.$registro['pe_cel']."</td>
    </tr>"
);
    
}

echo 
'</table>';

echo
"<p>".$_pagi_info."</p><br>";

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";

?> 
Muchas Gracias y espero su ayuda.

El_Condor
  #2 (permalink)  
Antiguo 21/02/2006, 16:32
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 1 mes
Puntos: 41
Hola El_Condor:

La verdad es muy extraño lo que te aparece. Tal vez el salto de línea complique un poco el eregi_replace()... así que haz la prueba seteando la variable $_pagi_conteo_alternativo = true;
Código PHP:
<?
//....

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 50;

// Esta línea tienes que agregar
$_pagi_conteo_alternativo true;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator/paginator.inc.php");
Igual es un error que voy a investigar un poco más.

Gracias,

Saludos
  #3 (permalink)  
Antiguo 22/02/2006, 09:59
Avatar de El Condor  
Fecha de Ingreso: febrero-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
perfecto.. con eso pude solucionarlo y esta andando .
Gracias por tu ayuda.

Saludos
El_Condor
  #4 (permalink)  
Antiguo 22/02/2006, 12:22
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 1 mes
Puntos: 41
Efectivamente, el problema es el espacio en blanco la expresión regular en Paginator.

El script espera un espacio en blanco y no reconoce el salto de línea. Ahora, utilizando la expresión [[:space:]] se reconocen espacios, saltos de línea y tabulaciones. En las próximas horas estaré publicando los cambios en la web.

Mil gracias por reportarlo.

Saludos
  #5 (permalink)  
Antiguo 05/09/2006, 12:29
Avatar de El Condor  
Fecha de Ingreso: febrero-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
Bueno tengo otra consulta.

Cuando me genera la paginacion en mi url yo tengo variables que estoy enviando por get
Ejemplo:
prueba.php?parametro=valor1,valor2

el inconveniente es que cuando me genera el link para la siguiente pagina no me esta tomando el segundo valor seguido de la ,(coma)

quisiera saber si alguien sabe como hacer para que lo tome, estuve observando el codigo y vi que toma el valor de "parametro" con la variable $_pagi_propagar, la cual toma el valor de array_keys($_GET).

Lo que no entiendo es por que me lo corta.

Espero su ayuda y gracias de antemano
El_Condor
  #6 (permalink)  
Antiguo 05/09/2006, 12:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por El Condor Ver Mensaje
Bueno tengo otra consulta.

Cuando me genera la paginacion en mi url yo tengo variables que estoy enviando por get
Ejemplo:
prueba.php?parametro=valor1,valor2

el inconveniente es que cuando me genera el link para la siguiente pagina no me esta tomando el segundo valor seguido de la ,(coma)

quisiera saber si alguien sabe como hacer para que lo tome, estuve observando el codigo y vi que toma el valor de "parametro" con la variable $_pagi_propagar, la cual toma el valor de array_keys($_GET).

Lo que no entiendo es por que me lo corta.

Espero su ayuda y gracias de antemano
El_Condor
No sé de quien será competencia (del "Paginator" o de tu aplicación y/o uso de el)

url_encode()
www.php.net/url_encode

Aplicado al valor de tus variables que propagas por el URL (sólo al valor .. no a todo el "query string")

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 09/09/2006, 07:40
Avatar de El Condor  
Fecha de Ingreso: febrero-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
bueno termine forsandolo en el paginador en la seccion de donde toma las variables de $_GLOBALS, lo comente para que tome todo desde el $_REQUEST

Código PHP:
foreach($_pagi_propagar as $var){
     
/*if(isset($GLOBALS[$var])){
        // Si la variable es global al script
        $_pagi_query_string.= $var."=".$GLOBALS[$var]."&";
    }elseif(isset($_REQUEST[$var])){*/
        // Si no es global (o register globals está en OFF)
        
$_pagi_query_string.= $var."=".$_REQUEST[$var]
        .
"&";
    
//}

Gracias por la ayuda...
Saludos
El_Condor
  #8 (permalink)  
Antiguo 25/09/2006, 10:50
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 8 meses
Puntos: 10
Que tal
Acabo de implementar el script de jpinedo y funciona aparentemente bien.
El inconveniente que encontré es que no me pagina las páginas en éste caso de 20 en 20, lo que pude percibir es que según los registros que va recorriendo la consulta son los que va contando (no los que arroja al momento de mostrar).

Por ejemplo hago la consulta (con el respectivo filtro) y dentro de los primeros 20 registros de la DB solo hay 5 registros que cumplen el filtro, al momento de mostrar la página 1 de ésa consulta no me lista 20 sino los 5 registros de los primeros 20 que verificó.

No sé si me supe explicar, espero que me puedan echar la mano.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #9 (permalink)  
Antiguo 25/09/2006, 13:55
Avatar de El Condor  
Fecha de Ingreso: febrero-2006
Mensajes: 18
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por TolerantX Ver Mensaje
Que tal
Acabo de implementar el script de jpinedo y funciona aparentemente bien.
El inconveniente que encontré es que no me pagina las páginas en éste caso de 20 en 20, lo que pude percibir es que según los registros que va recorriendo la consulta son los que va contando (no los que arroja al momento de mostrar).

Por ejemplo hago la consulta (con el respectivo filtro) y dentro de los primeros 20 registros de la DB solo hay 5 registros que cumplen el filtro, al momento de mostrar la página 1 de ésa consulta no me lista 20 sino los 5 registros de los primeros 20 que verificó.

No sé si me supe explicar, espero que me puedan echar la mano.
Me parece que el inconveniente que estas teniendo es que le estas seteando el limite en la consulta vos, pero esto lo realiza el paginador solo.

Saludos
El_Condor
  #10 (permalink)  
Antiguo 26/09/2006, 10:07
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 8 meses
Puntos: 10
Cita:
Iniciado por El Condor Ver Mensaje
Me parece que el inconveniente que estas teniendo es que le estas seteando el limite en la consulta vos, pero esto lo realiza el paginador solo.

Saludos
El_Condor
um?, Así es, el paginador lo hace solo, si no le das el valor de registros que debe paginar lo hace con el valor de 20. (No le puse ningún valor, por ello trae el valor de 20).
__________________
TolerantX
http://tolerantx.com
Linux User #385226
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:14.