Foros del Web » Programando para Internet » PHP »

almacenar búsqueda

Estas en el tema de almacenar búsqueda en el foro de PHP en Foros del Web. Wenas a todos, os cuento mi problema: Tengo una bd con 27 familias, cada una de ellas con sus respectivos productos y una pagina en ...
  #1 (permalink)  
Antiguo 10/11/2004, 04:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 44
Antigüedad: 20 años, 6 meses
Puntos: 3
almacenar búsqueda

Wenas a todos, os cuento mi problema:

Tengo una bd con 27 familias, cada una de ellas con sus respectivos productos y una pagina en la que muestro las caracteristicas del producto elegido y un formulario de busqueda para cada una de las familias( ya que tienen distintos campos) con varios criterios el cual logicamente cuando seleccionan uno o varios criterios me muestra el/los resultados.
Hasta aquí todo normal.

El problema viene que al pulsar sobre uno de los productos encontrados mediante el buscador, me muestra las caracteristicas de ese producto y me elimina logicamente los demas resultados.

Qué puedo hacer para que mantenga los resultados, algo así como un historial de busquedas que se han realizado en cada una de las familias por el mismo usuario? Imagino que con sesiones pero no se atacar el problema. Estoy bloqueado, necesito algo de luz, jeje.

Os expongo mi planteamiento inicial para ver si voy por buen camino.

- El usuario entra en la web, y pide las caracteristicas de un producto. El historial de busquedas debe estar vacio.
- El usuario selecciona uno/varios criterios de busqueda y muestra resultados. Almacenaria en variables de session los resultados (familia y producto).
- El usuario pulsa sobre uno de los productos resultantes de la busqueda y muestra las caracteristicas. Se muestran los resultados que se habian almacenado en las variable de session para esa misma familia.
- El usuario entra en otra familia. No hay resultados de busqueda. Las variables de session se eliminan o inicializan.


Muchas gracias a todos de antemano.
__________________
EduLopez.
Salu2 desde Albacete
  #2 (permalink)  
Antiguo 10/11/2004, 05:05
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Esta bien lo de las variables de session, pero yo tampoco lo domino mucho. Lo que haria es trabajar con la bd y otra tabla nueva, donde iria actualizando en cada cambio de busqueda, asi siempre tendrias los datos anteriores de cada usuario y si algun caso no tuviese nada pues insertaria.

Por cierto yo tambien estoy haciendo un buscador. Cuales son los criterios o sentencias usada, es que no se como empezar..? Muchas Gracias!
  #3 (permalink)  
Antiguo 10/11/2004, 05:17
 
Fecha de Ingreso: octubre-2003
Mensajes: 44
Antigüedad: 20 años, 6 meses
Puntos: 3
El buscador que tengo lo he hecho para que el usuario pueda buscar por uno, varios o todos los criterios del buscador.
Una vez enviado el formulario hago lo siguiente:

<?
$sql='';
if(!empty($_POST['select1'])){
$sql="AND A='".$_POST["select1"]."'";
}
if(!empty($_POST['select2'])){
$sql.="AND B='".$_POST["select2"]."'";
}
if(!empty($_POST['select3'])){
$sql.="AND E='".$_POST["select3"]."'";
}
$sql=substr($sql,4);
$consulta="SELECT IdMod FROM nombre_Tabla WHERE ".$sql;
$resultado=mysql_query($consulta,$conexion);
if(mysql_num_rows($resultado)==0){
?>
<table width="120" border="0" align="center" cellpadding="2" cellspacing="2">
<tr><td height="15" bgcolor="<? echo $color;?>"><? echo "No hay resultados coincidentes con los criterios enviados";?></td></tr>
</table>
<?
}else{
?>
Muestro los resultados.

Espero que te sirva.

Respecto a lo que me comentas creo que lo de usar una tabla temporal no conseguiría saber quien ha buscado que cosa si no es usando sessiones , pero gracias por la respuesta.

Si tienes alguna duda con lo que te envio, dimelo.
__________________
EduLopez.
Salu2 desde Albacete
  #4 (permalink)  
Antiguo 10/11/2004, 05:20
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Ostras muchas gracias! Yo lo habia plantedado diferente, pero con lo tuyo y un poco de lo mio creo que conseguiré hacer algo,jejeje!
En serio muchas gracias!

Para la sesiones mira el FAQ que lo explica muy bien.
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:42.