Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/11/2004, 04:43
Avatar de Torus
Torus
 
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 3 meses
Puntos: 0
construir SELECT

Hola a Tod@s:
Mi problema es que quiero construir un SELECT y por lo visto algo esta mal y no lo consigo.
El tema es el que sigue:
De un formulario paso un numero no definido de valores y segun estos valores construir el SELECT.
el mensaje de error es:
Cita:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE coche.id_modelo = '20' AND modelo.id_modelo = '7' AND mar
Tengo que decir que si no selecciona algo del formulario lo que envia este es"%" menos en $_POST['modelo'] que envia "" (vacio).

El codigo es el que sigue:
Realizo las conexiones a la bd

Código PHP:
$condicion="WHERE ";
 if (
$_POST['marca']!="%"||$_POST['modelo']!=""){
 
$consulta=$condicion."coche.id_modelo = '".$_POST['modelo']."' AND modelo.id_modelo = '".$_POST['marca']."' AND marca.id_marca = '".$_POST['marca']."'";
  }
  if (
$_POST['tipo']!="%"){
  if (isset(
$consulta)){
  
$condicion="";
  
$consulta.=" and coche.id_tipo_coche=tipo_coche.id_tipo_coche";
  }
  else{
  
$consulta=$condicion."coche.id_tipo_coche=tipo_coche.id_tipo_coche";
  }
  }
  
  if (
$_POST['kms']!="%") {
  if (isset(
$consulta)){
  
$condicion="";
  
$consulta.=" and coche.km_coche<=".$_POST['kms'];
  }
  else{
  
$consulta=$condicion." coche.km_coche<=".$_POST['kms'];
  }
}
  
  if (
$_POST['presupuesto']!="%"){
   if (isset(
$consulta)){
   
$condicion="";
    
$consulta.=" and coche.precio_coche<=".$_POST['presupuesto'];
   }
   else{
    
$consulta=$condicion." coche.precio_coche<=".$_POST['presupuesto'];
   }
   }
  if (
$_POST['antiguedad']!="%"){
   if (isset(
$consulta)){
   
$condicion="";
    
$consulta.=" and coche.anio_coche>=".$_POST['antiguedad'];
   }
   else{
    
$consulta=$condicion." coche.anio_coche>=".$_POST['antiguedad'];
   }
   }
  if (
$_POST['combustible']!="%"){
     if (isset(
$consulta)){
     
$condicion="";
      
$consulta.=" and coche.gasolina_coche = ".$_POST['combustible'];
  }
  else{
  
$consulta=$condicion." coche.gasolina_coche = ".$_POST['combustible'];
  }
  }
  if (
$_POST['marca']=="%"||$_POST['modelo']==""&&$_POST['combustible']=="%"&&$_POST['tipo']=="%"&&$_POST['kms']=="%"&&$_POST['presupuesto']!="%"&&$_POST['antiguedad']=="%"&&$_POST['combustible']=="%"){
  
  echo 
"no ha seleccionado nada";
  
$condicion="";
  
  }
$sql="SELECT * FROM marca, tipo_coche, modelo, coche $condicion $consulta";
$consulta_SQL=$sql;
mysql_select_db($database_automoviles$automoviles);
$query_busc_coche $consulta_SQL
$busc_coche mysql_query($query_busc_coche$automoviles) or die(mysql_error());
$row_busc_coche mysql_fetch_assoc($busc_coche);
$totalRows_busc_coche mysql_num_rows($busc_coche);


 do {
echo 
"id coche: ".$row_busc_coche['id_coche']."<br>"
echo 
"Marca: ".$row_busc_coche['nombre_marca']."<br>"
echo 
"modelo: ".$row_busc_coche['nombre_modelo']."<br>"
echo 
"tipo coche: ".$row_busc_coche['nombre_tipo_coche']."<br>"
echo 
"km:".$row_busc_coche['km_coche']."<br>";
echo 
"precio:"$row_busc_coche['precio_coche']."<br>";
echo 
"Año del vehiculo:".$row_busc_coche['anio_coche']."<br>";
echo 
"Combustible: "$row_busc_coche['gasolina_coche']."<br>";
echo 
"Tipo de coche:"$row_busc_coche['id_tipo_coche']."<br>";

 } while (
$row_busc_coche mysql_fetch_assoc($busc_coche)); ?> 
Quiza me este complicando la vida pero he llegado a un punto que no se ni como me llamo
Gracias
__________________
Hay tanto que aprender y tan poco tiempo

Última edición por Torus; 21/11/2004 a las 04:44