Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta desde formulario con varios campos

Estas en el tema de Consulta desde formulario con varios campos en el foro de Mysql en Foros del Web. Soy nuevo en esto de mysql y tengo q hacer una consulta desde un formulario que tiene varias opciones de busqueda. 1.provincia 2.termino 3.rango 4.punto ...
  #1 (permalink)  
Antiguo 17/07/2008, 17:32
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 1
Consulta desde formulario con varios campos

Soy nuevo en esto de mysql y tengo q hacer una consulta desde un formulario que tiene varias opciones de busqueda.

1.provincia
2.termino
3.rango
4.punto

queria hacer que la busqueda me mostrase todo lo selecionado y si se deja algun campo en blanco lo omita.

por ejemplo si alguien quiere Albacete,almansa, y de punto el 1000 y realice la busqueca condicional que cumpla esos requisitos e ignore que no se ha seleccionado rango.

Gracias por adelantado
  #2 (permalink)  
Antiguo 17/07/2008, 21:29
Iom
 
Fecha de Ingreso: abril-2008
Mensajes: 47
Antigüedad: 16 años
Puntos: 2
Respuesta: Consulta desde formulario con varios campos

Coloca como estas haciendo tu busqueda. Para ver donde pudiera estar el error o la falla.
  #3 (permalink)  
Antiguo 18/07/2008, 09:31
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Consulta desde formulario con varios campos

El problema es que no se como orientar la consulta ya que si utilizo un AND y uno de los campos del formulario se queda en blanco no me encuentra nada, y si utilizo un OR me daria como resultado una busqueda menos esacta de la que necesito. Alguien puede echarme una mano?
  #4 (permalink)  
Antiguo 25/07/2008, 05:16
 
Fecha de Ingreso: junio-2007
Mensajes: 20
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Consulta desde formulario con varios campos

Yo estoy intentando hacer lo mismo que tu.

Un formulario con varios campos y luego por POST pasar las variables a un consultar.php. La cosa es que cuando hago la consulta Básica

select * from nombretabla

no me aparece por pantalla ningun resultado y eso es lo que quiero hacer primero y posteriormente, ir añadiendo posibilidades de busqueda.

Gracias
  #5 (permalink)  
Antiguo 27/07/2008, 08:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta desde formulario con varios campos

Este es un problema muy común, pero no es este el lugar para dar la respuesta. Me explico:
En SQL la sintaxis para la búsqueda que quieres exige AND, puesto que buscas todo lo que se escriba, pero tú no sabes cuántos criterios seleccionará el usuario; y para controlar eso, que en realidad consiste en condicionar la sintaxis de la cadena de consulta MySQL según la selección, para eso deberás pedir ayuda en el foro del programa con el que programes. Pregunta en el foro específico del programa que uses, PHP, ASJ, JSP, etc. y allí seguro que te indican cómo hacerlo.

Última edición por jurena; 31/07/2008 a las 00:16
  #6 (permalink)  
Antiguo 30/07/2008, 17:44
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Consulta desde formulario con varios campos

Lo he resuelto de la siguiente manera, la solucion estaba en el lenguaje de programacion no en la consulta.


<?php
$filtros='';
foreach($_POST as $indice => $valor) {
if ($valor!='') $filtros.="$indice='$valor' AND ";
}
if ($filtros!='') {
$filtros=substr($filtros,0,strlen($filtros)-5); //se quita ultimo -AND-
$consulta="SELECT * FROM propiedad WHERE $filtros";
mysql_query($consulta) or die ("Error al Ejecutar la Consulta: ".mysql_error());
//todo lo demás...
} else {
echo "No se especificaron Filtros de Seleccion";
}
?>
  #7 (permalink)  
Antiguo 12/12/2011, 05:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Consulta desde formulario con varios campos

Han pasado varios años, pero estaba buscando esto y me ha venido de perlas.
Gracias a bodyg por postear la solución que al cabo de los años me ha solucionado mi problema de una forma elegante y sencilla.
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 08:52.