Foros del Web » Programando para Internet » PHP »

problema con paginacion

Estas en el tema de problema con paginacion en el foro de PHP en Foros del Web. tengo el típico código: if (!$pais || !$searchtype || !$searchterm) { echo 'No has rellenado alguno de los campos'; exit; } que no me deja ...
  #1 (permalink)  
Antiguo 06/10/2010, 16:50
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
problema con paginacion

tengo el típico código:

if (!$pais || !$searchtype || !$searchterm) {
echo 'No has rellenado alguno de los campos';
exit;
}
que no me deja paginar una pag de resutados.php porque me ejecuta primero este código. Ya he probado con else, else if y no funciona para que pagine resultado.php y no se ejecute esta primera parte del código?, la primera pagina de resultados me la pinta, pero cuando le doy a ver la 2ª pagina me ejecuta esta primera linea de cod.
Estoy usando la clase PHPPaging.lib.php que esta en aportes del foro.

Saludos
  #2 (permalink)  
Antiguo 06/10/2010, 17:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema con paginacion

Por favor, no nos pongas a jugar al adivino y al menos muestra como obtienes los campos de filtrado $pais, $searchtype y $searchterm... aunque seria mas util ver todo tu codigo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/10/2010, 17:16
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

Los obtengo a traves de un formulario , y el resultado lo ejecuta el siguiente código:
<?php
require_once 'PHPPaging.lib.php';




$pais=$_POST['pais'];
$searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);



if (!$pais || !$searchtype || !$searchterm) {
echo 'No has rellenado alguno de los campos';
exit;
}

if (!get_magic_quotes_gpc()){
$pais = addslashes($pais);
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}

$paging = new PHPPaging;

$link=mysql_connect("localhost","****","****");
mysql_selectdb(miweb,$link);

$paging = new PHPPaging($link);

if (mysqli_connect_errno()) {
echo 'Error: No te has conectado a la base de datos.';
exit;
}

$arreglo = array(
1 => array('a','b','c','d'),
2 => array('e','f','g','h'),
3 => array('i','j','k','l'),
4 => array('m','n','o','p'),
5 => array('q','r','s','t'),
6 => array('u','v','w','x'),
7 => array('y','z','A','B'),
8 => array('C','D','E','F'),
9 => 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);

$query ="SELECT * FROM tabla B INNER JOIN paises P ON B.id_pais = P.id_pais
WHERE P.pais = '".$pais."' AND ".$searchtype." LIKE '%".$searchterm."%'";

//*echo "</strong>PAIS: ".$nombre_pais."</p>";





$paging->agregarConsulta($query);
$paging->ejecutar();


while($row = $paging->fetchResultado()) {

echo stripslashes($row['pais']);
echo "<p><h3><br/> TIPO</h3>: ";
echo htmlspecialchars(stripslashes($row['tipo']));
echo "<h3><br/> Nombre:</h3> ";
echo htmlspecialchars(stripslashes($row['nombre']));
echo "<br /><h3>Descripcion:</h3> ";
echo stripslashes($row['descripcion']);
echo "<br /><h3>Requisitos:</h3> ";
echo stripslashes($row['requisitos']);
echo "<br /><h3>enlace de interés:</h3> ";
echo '<a href="' . $row['link'] . '">' . $row['nombre'] . '</a>';

}
mysql_close();

?>
</div>
<div id="faldon">
<?php
$links = $paging->fetchNavegacion();

echo $links;
?>
como decia, la primera pagina la ejecuta perfectamente, la segunda me ejecuta la linea de cod de "no has rellenado alguno de los campos",
  #4 (permalink)  
Antiguo 07/10/2010, 00:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema con paginacion

Y ya viste que realmente te esta llegando la información y que los campos no vengan vacíos?
Código PHP:
Ver original
  1. var_dump($_POST);

También cabe decir que no es tan correcto el uso que le estas dando al if para verificar si las variables están vacías, para eso existe empty()

Código PHP:
Ver original
  1. if (empty($pais) || empty($searchtype) || empty($searchterm)) {
  2. echo 'No has rellenado alguno de los campos';
  3. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 07/10/2010, 00:57
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

Si, lo hevisto, la información me llega, logicamnete si relleno los datos, la primera página la pinta pero cuando quiero ver la siguiente me ejecuta el primer cod

if (!$pais || !$searchtype || !$searchterm) {
echo 'No has rellenado alguno de los campos';
exit;
}

y nome deja ver el siguiente resultado de la paginación.

Saludos
  #6 (permalink)  
Antiguo 07/10/2010, 00:58
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema con paginacion

Has el cambio que te dije en el if, cambia ese ! por empty
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 07/10/2010, 01:04
 
Fecha de Ingreso: septiembre-2010
Ubicación: http://nomenrecordo.blogspot.com/
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: problema con paginacion

Pon una variable de control para que no se vuelva a ejecutar esa linea de código.
  #8 (permalink)  
Antiguo 07/10/2010, 01:09
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

He puesto empty y no me funciona, ¿cómo se pone una var de control?
  #9 (permalink)  
Antiguo 07/10/2010, 01:10
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema con paginacion

Si cambiaste el if forzosamente una de las variables viene vacía, verifica bien la variable post como te comente (var_dump($_POST)) y comparalas
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 07/10/2010, 01:15
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

Lo siento, no entiendo lo que me quieres decir
  #11 (permalink)  
Antiguo 07/10/2010, 01:17
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

No puede venir vacío ¿no? relleno primeramente el formulario y al enviar me pinta el resultado del post, cuando quiero paginar toma el form como si estuviese en blanco ¿es asi?
  #12 (permalink)  
Antiguo 07/10/2010, 01:18
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: problema con paginacion

Hola,

Posiblemente, fetchNavegacion genera los vínculos a las siguientes páginas, pero ... ¿Qué sabe PHPPaging sobre esas variables del POST?

Cita:
Iniciado por Pike Ver Mensaje

$pais=$_POST['pais'];
$searchtype=$_POST['searchtype'];
$searchterm=trim($_POST['searchterm']);


$links = $paging->fetchNavegacion();
echo $links;
Seguramente los vínculos que genera son 'pagina.php?pagina=X', y cuando presionas ese vínculo no lleva los parámetros del post original (osea la primera vez que llegó a esa página). http://phppaging.phperu.net/ejemplos.php?tipo=post

Saludos,
  #13 (permalink)  
Antiguo 07/10/2010, 01:21
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema con paginacion

En el IF estas verificando si alguna de las 3 variables viene vacía, si esta vacía aunque sea 1 detiene el script y manda error, así que es OBVIO que el problema es que alguna de las 3 variables esta vacía, ya sea porque llego vacía o estas tomando mal el nombre de alguno de los 3 campos. VERIFICA que estén llegando bien los datos, no lo supongas, verificalo con el código que te envie (var_dump($_POST))
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #14 (permalink)  
Antiguo 07/10/2010, 01:28
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

me devuelve

array(0) { } No has rellenado alguno de los campos

cuando quiero paginar, toma de nuevo el formulario es blanco
  #15 (permalink)  
Antiguo 07/10/2010, 01:28
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

Creo que por aqui debe estar la solución al problema...
  #16 (permalink)  
Antiguo 07/10/2010, 01:30
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema con paginacion

Hay esta el error, no te llega ningún campo, verifica bien que el método es post (method="post") en el formulario, ahora, tal como lo comento @HackmanC es muy probable (es mas casi seguro) que cuando le das cambiar de página se pierdan los datos, así que verifica esto también
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #17 (permalink)  
Antiguo 07/10/2010, 01:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con paginacion

Hola
llego tarde pero.. esta usandose post pero se envian como get en los links? o no estan en este momento incluidos esos parámetros en la paginación?
pues eso te muestra porque no existen en post en ese momento
revisa eso
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #18 (permalink)  
Antiguo 07/10/2010, 01:34
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problema con paginacion

Gracias a los dos por vuestra ayuda

Etiquetas: paginacion
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 16:49.