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

Paginacion Resultados de Búsqueda con campos vacios

Estas en el tema de Paginacion Resultados de Búsqueda con campos vacios en el foro de WordPress en Foros del Web. Buenas a todos: El problema que se me plantea es que tengo un formulario cuyos resultados quiero paginar en el documento de destino. Sé como ...
  #1 (permalink)  
Antiguo 09/12/2011, 22:32
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Mensaje Paginacion Resultados de Búsqueda con campos vacios

Buenas a todos:

El problema que se me plantea es que tengo un formulario cuyos resultados quiero paginar en el documento de destino.
Sé como pasar las variables por post y por get, y recuperarlas.
El problema es que al paginar, como las páginas son guiadas por enlaces, pierdo la información post, por lo que he intentado ponerla en el enlace para pasarla por url a get.

El problema de esto es que no todos los campos son rellenados en una búsqueda, y al pasar la URL ya no funciona dada la sintaxis larga y probablemente errónea que resulta.
Si lo hago con dos campos y solo envío esos dos campos funciona correctamente, pero es que quiero permitir búsquedas combinadas, para las cuales no es obligatorio rellenar todos los campos.

La URL resultante es algo como : "http://midominio.es/resultados.php?pag=2&pais=198&modelo=1951&color=&p recio=&edad=&"
Hasta país, consigo que funcione, pero como se puede apreciar el resto de variables provoca una URL que no debe de ser muy correcta según mi opinión, aunque si estoy equivocado me gustaría saberlo para buscar en otro sitio el error.
La página de destino ejecuta una consulta a la BD siguiendo esos parámetros, para paginarlos despues. A una página va perfecto pero paginando no.

Si fueran 2 campos lo haría con if.. pero son 7 campos, que al no ser requeridos, me dan un montón de probabilidades....

Gracias!

Última edición por adriantht; 09/12/2011 a las 22:55
  #2 (permalink)  
Antiguo 10/12/2011, 01:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Paginacion Resultados de Búsqueda con campos vacios

no se si tu proyecto es con fina academico... pero si no lo es checa esta solucion en materia de despliegue de informacion con tablas y busqueda dentro de las mismas.

http://datatables.net/
  #3 (permalink)  
Antiguo 12/12/2011, 05:43
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 7 meses
Puntos: 656
Respuesta: Paginacion Resultados de Búsqueda con campos vacios

Consulta: hablamos de WordPress o de un script totalmente distinto aquí?
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #4 (permalink)  
Antiguo 10/01/2012, 07:29
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Paginacion Resultados de Búsqueda con campos vacios

Hablamos de Wordpress, pero fuera de las cosas comunes, es casi PHP duro.
El caso es que para poder paginar los resultados de una búsqueda a través de formulario, necesitaba pasar las variables a las demás páginas, ya que sino la propia consulta query_posts se queda sin parámetros cuando ejecutas la paginación.
Al final, he reemplazado todas las variables $_POST por $_SESSION, y utilizar estas para la consulta, con lo cual funciona perfectamente aunque ya no exista un formulario precedente.
Si alguien tiene alguna duda que me postee y le pego el código para conseguirlo.

Gracias a todos por las pistas...
  #5 (permalink)  
Antiguo 21/08/2012, 22:44
 
Fecha de Ingreso: junio-2012
Ubicación: caracas
Mensajes: 33
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Paginacion Resultados de Búsqueda con campos vacios

pues casualmente tengo un proble similar ya postee mi pregunta a ver si me solucionan pero me interesa lo hiciste aunque ya tenia la idea con session, pero no me marca mucho esa jejejeje se me ocurria era mostrar las consultar en otra pagina aparte pero sigo atorado me puedes decir como solucionaste adriantht ^^ gracias de antemano
  #6 (permalink)  
Antiguo 22/08/2012, 13:00
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Paginacion Resultados de Búsqueda con campos vacios

Hola soulip. En mi caso el problema era paginar, mostrar los resultados en otra página es válido pero cuando pulsas el enlace de la segunda página has perdido los datos de _POST que son los que están dándote los parámetros para la búsqueda, y que deben mantenerse en la pag=2.

En mi caso lo que hice fue esto:


Código PHP:
<?php 
if($_POST){
 
$_SESSION['pais'] = $_POST['pais'] ; 
 
$_SESSION['parametro1'] = $_POST['parametro1'] ; 
 
$_SESSION['parametro2'] = $_POST['parametro2'] ; 
$_SESSION['parametro3'] = $_POST['parametro3'] ; 
$_SESSION['parametro4'] = $_POST['parametro4'] ;
$_SESSION['parametro5'] = $_POST['parametro5'] ; 
$_SESSION['parametro6'] = $_POST['parametro6'] ;
$_SESSION['parametro7'] = $_POST['parametro7'] ;
} else { }
 
?>
Con esto al inicio de la página de resultados, se mantienen en session si no vienen por $_POST.
Y luego las consultas son del tipo :

Código PHP:
wp_reset_query();
            if(
$_GET['pag']){ $pag $_GET['pag']; }else{ $pag 1; }
            
$args = array(
                
'post_type' => 'imagen',
                
'order' => 'DESC',
                
'posts_per_page' => '10',
                
'paged' => $pag ,
                
'order_by' => 'date',
                
'meta_query' => array(),
                
'tax_query' => array()
             );
             
             
// Si hay categoría, la agrega a los argumentos del query_posts
             
if($_SESSION['categoria'] != "%"){
                 
array_push($args['tax_query'],
                     array(
                        
'taxonomy' => 'category',
                        
'field' => 'id',
                        
'terms' => $_SESSION['categoria']
                    )
                 );
             }
             
             
// Si hay país, la agrega a los argumentos del query_posts
             
if($_SESSION['pais'] != "%"){
                 
array_push($args['meta_query'],
                     array(
                        
'key' => 'imagen_pais__',
                        
'value' => $_SESSION['pais'],
                        
'type' => 'numeric',
                        
'compare' => '='
                    
)
                 );
             } 
Y asi sucesivamente.

Etiquetas: formulario, paginacion, php, traspaso
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 11:22.