Foros del Web » Programando para Internet » PHP »

select de formularios para un filtro con php

Estas en el tema de select de formularios para un filtro con php en el foro de PHP en Foros del Web. Buenas gente, les hago una consulta. Tengo una página que es un catalogo. Al entrar se muestran todos los productos, y al lado del catalogo ...
  #1 (permalink)  
Antiguo 31/07/2009, 19:46
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 14 años, 8 meses
Puntos: 1
select de formularios para un filtro con php

Buenas gente, les hago una consulta.
Tengo una página que es un catalogo. Al entrar se muestran todos los productos, y al lado del catalogo tengo un "select" el cual me permite elegir si quiero aplicar un filtro por tipo de producto (los productos se guardan en base de datos).

El problema es el siguiente: Cuando selecciono un tipo de articulo paso el valor de la opcion via $_POST[tipo] a la pagina que extrae los productos de la base de datos y que los devuelve a la pagina anterior.
Pero cuando vuelvo a cargar la página arrastro ese mismo ($tipo) valor por ser el que está seleccionado al principio de la lista

Me pueden dar una mano con esto?

Muchas gracias!!!!!
  #2 (permalink)  
Antiguo 31/07/2009, 20:01
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: select de formularios para un filtro con php

Hola , a que te referis con arrastro , que vuelve a figurar en el select como que si estuviese marcado tu anterior selección?.

Saludos
  #3 (permalink)  
Antiguo 31/07/2009, 20:33
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: select de formularios para un filtro con php

Exactamente, perdón que no me expresé bien. Siempre va a tomar el valor del primer elemento del select.

Este es el codigo del formulario de la pagina del catalogo (catalogo.tpl.html):

<form method='post' action='mercado_manya_con_filtro.php'>
Articulo por tipo:<br />
<select name='tipo'>
<option>Todos</option>
<option>Banderas - Banderines</option>
<option>P&oacute;sters</option>
<option>Remeras e indumentaria</option>
<option>Otros</option>
</select>
<input type='submit' value='Buscar' />
</form>



Y así recibo la opcion en la pagina de acceso a datos (catalogo.php):

$tipo = $_POST['tipo'];

El problema consiste en que esta pagina carga lo que seleccione del select anterior en catalogo.tpl.html a la misma página catalogo.tpl.html.
Y como por defecto el valor del primer option en esa pagina es "todos", termina cargando esa opcion - "Todos" - y no el que había seleccionado.

Espero haber sido más claro.
Gracias por la atencion.
  #4 (permalink)  
Antiguo 31/07/2009, 20:40
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: select de formularios para un filtro con php

Hola , a ver por lo pude entenderte vos haces una consulta mediante un form y listas en esa misma pagina el resultado de la consulta? , tu imposibilidad es mantener dicho valor en el select? si es eso solo , lo fixeas con $_SESSION['valorcampo']=$_POST['campo']; , en el fichero donde uses sesiones debes poner como segunda linea session_start(); , de ese modo podes pasar parametros inalterables entre paginas , y de ese modo quedaria el valor correcto en dicha consulta /select.

Saludos!
  #5 (permalink)  
Antiguo 01/08/2009, 17:39
 
Fecha de Ingreso: julio-2009
Ubicación: Montevideo, UY
Mensajes: 129
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: select de formularios para un filtro con php

Buenísimo, muchas gracias!!!
Lo pruebo y te comento.
Saludos.
  #6 (permalink)  
Antiguo 01/08/2009, 18:42
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: select de formularios para un filtro con php

Creo que te refieres a esto, pero nose no he llegado a entender muy bien:
Código PHP:
<?php
$tipo
="todos";
if(isset(
$_POST['tipo']))
{
       
$tipo=$_POST['tipo'];
}
?>
<form method='post' action='mercado_manya_con_filtro.php'>
Articulo por tipo:<br />
<select name='tipo'>
<option>Todos</option>
<option <?php if($tipo=="banderas") { echo "selected"; } ?>>Banderas - Banderines</option>
<option <?php if($tipo=="posters") { echo "selected"; } ?>>P&oacute;sters</option>
<option <?php if($tipo=="remeras") { echo "selected"; } ?>>Remeras e indumentaria</option>
<option <?php if($tipo=="otros") { echo "selected"; } ?>>Otros</option>
</select>
<input type='submit' value='Buscar' />
</form> 

Y así recibo la opcion en la pagina de acceso a datos (catalogo.php):

$tipo = $_POST['tipo'];
  #7 (permalink)  
Antiguo 01/08/2009, 18:44
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: select de formularios para un filtro con php

Y viéndo el tema un poco mas a los options del select no le tienes puesto un value, por lo que puede estar cogiendo la primera selección del select y no la que tu hallas seleccionado
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:49.