Foros del Web » Programando para Internet » PHP »

Paginación y formularios

Estas en el tema de Paginación y formularios en el foro de PHP en Foros del Web. Hola, tengo el siguiente problema. Mediante diversos campos de un formulario, los usuarios pueden realizar búsquedas en una BD MySQL. Una de las opciones es ...
  #1 (permalink)  
Antiguo 30/05/2005, 15:13
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 1
Paginación y formularios

Hola,

tengo el siguiente problema. Mediante diversos campos de un formulario, los usuarios pueden realizar búsquedas en una BD MySQL.

Una de las opciones es paginar los resultados obtenidos indicando el número de registros. Bien. Si se hace así, los resultados se presentan en varias páginas. Perfecto.

El problema llega ahora. La consulta de búsqueda en la BD necesita al menos dos campos del formulario (campo a buscar y palabra). La 1ª vez esto funciona perfectamente, pero en el caso de que el usuario navegue por las páginas (que son enlaces, es decir, uso el método GET), los campos del formulario no se envían y la consulta da un error.

Me he planteado hacer que cada uno de los enlaces de las páginas sea en realidad como un botón de envío del formulario. De esta manera se enviaría el formulario siempre y la consulta sería correcta.

Entonces... ¿existe algún problema pq el formulario tenga varios 'botones' de envío? ¿causaría esto algún problema de rendimiento o algo por el estilo? ¿alguien tiene una mejor solución?

Espero sus respuestas!

Última edición por andreusup; 30/05/2005 a las 15:32
  #2 (permalink)  
Antiguo 30/05/2005, 16:16
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
No es necesario:
Esta es una pregunta recurrente en Paginator (ya sé que vengo prometiendo las FAQ, pero lo haré apenas tenga tiempo). Y aunque no utilices Paginator, te servirá igual.
Puedes propagar las variables en los enlaces (método GET) tal como dices.
Lo único que tendrías que tener en cuenta es que la primera vez las variables llegan por POST y el resto de veces llegan por GET.
Una sencilla comprobación solucionará tu problema:
Código PHP:
if(isset($_POST['var1'])){
   
$var1 $_POST['var1'];
}else{
   
$var1 $_GETT['var1'];

De esa manera, se buscará la variable $_POST['var1'] y si no está definida, se buscará $_GET['var1'].

Espero te sirva.
Saludos
  #3 (permalink)  
Antiguo 31/05/2005, 06:12
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 12 años, 10 meses
Puntos: 1
la solución que dices ya me la había planteado. Pero la descarté por 'feísmo'.

Es decir, como en realidad -aunque sólo 2 sean estrictamente necesarias para la consulta- debo pasar 5 variables del formulario (que se enviarían por POST). Si lo hago con GET la URL será de una longitud considerable. Mas parece que es la mejor solución.

Así lo haré entonces.

Un saludo y muchas gracias!
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 19:38.