Foros del Web » Programando para Internet » PHP »

Buscador php y mysql avanzado

Estas en el tema de Buscador php y mysql avanzado en el foro de PHP en Foros del Web. Hola, gracias para empezar para los que me intenten ayudar. Estoy intentando hacer un buscador con php y mysql. Es una web de automoviles de ...
  #1 (permalink)  
Antiguo 19/01/2010, 05:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Buscador php y mysql avanzado

Hola,

gracias para empezar para los que me intenten ayudar.

Estoy intentando hacer un buscador con php y mysql. Es una web de automoviles de ocasión.

el formulario es el sigiente:

Marca - combo con las marcas que existen y debe seleccionar una o ninguna. En el caso de ninguna buscara en todas.

Modelo - campo de texto libre donde puede escribir el modelo.

Ciudad - combo con las ciudades de España donde puede seleccionar una o ninguna. En el caso de ninguna buscara en todas.

Precio - combo con opciones como 0-1000 1000-2000 etc. en el caso de no seleccionar ninguna buscara en todos.


Mi pregunta es que no se como realizar la sentencia select en mysql... porque ya he probado algunas cosas y no consigo que me funcione correctamente todo.

Un saludo y gracias!!!
  #2 (permalink)  
Antiguo 19/01/2010, 05:16
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Buscador php y mysql avanzado

Tendrás que poner varias sentencias sql sujetas a condiciones:

Código PHP:
Ver original
  1. if($_POST['marca']=="Todas") {
  2.  
  3. $sql="SELECT * FROM tabla WHERE modelo LIKE '%".$_POST['modelo']."%' ORDER BY modelo ASC";
  4.  
  5. } elseif ($_POST['marca']!="Todas") {
  6.  
  7. $sql="SELECT * FROM tabla WHERE modelo LIKE '%".$_POST['modelo']."%' AND marca='".$_POST['marca']."' ORDER BY modelo ASC";
  8.  
  9. }

y así con el resto :)

Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 19/01/2010, 05:25
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Buscador php y mysql avanzado

Muchas Gracias por tu respuesta.

Pero si todos los campos estan vacios menos el del precio?

creo que me estoy aciendo un lio seguro que es facil de hacer pero ahora mismo no lo veo.. estoy un poco colapsado jajaja
  #4 (permalink)  
Antiguo 19/01/2010, 06:08
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Buscador php y mysql avanzado

Es lo mismo, lo que pasa es que tienes que hacer varias condiciones:
Código PHP:
Ver original
  1. $precio=explode("-",$_POST['precio']); //separamos los dos precios comprendidos
  2. if($_POST['precio'] && !$_POST['marca'] && !$_POST['modelo'] && !$_POST['ciudad']) {
  3. //Si precio existe y marca,modelo y ciudad NO
  4. //(si no hay nada marcado, los values deben ir vacíos!):
  5.     $sql="SELECT * FROM tabla WHERE precio>=".$precio[0]." AND precio<=".$precio[1]." ORDER BY precio ASC";
  6.  
  7. } elseif($_POST['marca'].... etc
  8. }

Y sigues jugando con ello.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 19/01/2010, 06:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Buscador php y mysql avanzado

se supone que tendre 16 convinaciones posibles con las 4 variables no?
  #6 (permalink)  
Antiguo 19/01/2010, 06:31
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Buscador php y mysql avanzado

Bueno, la de marca puedes ahorrártela, y ponerla en todas las sentencias sql, total, si no hay nada buscará todo:
Código PHP:
Ver original
  1. LIKE '%".$marca."%'
Si contiene algo:
Código PHP:
Ver original
  1. LIKE '%audi%'
Si no contiene nada
Código PHP:
Ver original
  1. LIKE '%%'

Así ya sólo te quedan 3 variables con las que jugar. :)

Saludos y cuéntanos cómo te va
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: mysql, buscadores
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 20:16.