Hola soy nuevo en el foro estoy preparando un trabajo y necesito un poco de ayuda
no se me ocurre una solucion para este problema
Pagina de una consecionaria de vehiculos
a continuacion les comento las tablas que contiene mi base de datos
vehiculo=(
idvehiculo, idModelo, idTipo, Dominio, Anio, Precio)
marca= (
idMarca, nombremarca)
modelo=(
idmodelo, idmarca, nombremodelo)
tipo= (
idtipo, nombretipo)
caracteristica= (
idcaracteristica, nombrecaracteristica)
vehiculo_caracteristica= (
idvehiculocaracteristica, idvehiculo, idcaracteristica)
se entiende como tipo: auto, camioneta, moto camion etc
caracteristica puede ser: airbag, levantavidrios automatico, aire acondicionado, alarma etc
la que debo hacer es un "Filtrado" de vehiculos, es decir en una pagina se me desplegaran las marcas, modelos tipos y caracteristicas (que estan cargadas en la Base de datos) y el usuario seleccionaria cual desea filtrar (pudiendo dejar campos vacios) y me mostraria el resultado de los que cumplen la condicion
el problema mio es que no se como manejar los valores vacios
mi primera idea fue la siguiente
Código PHP:
$idmarca=($_POST['fmarca']);
$idtipo= ($_POST['ftipo']);
$idmodelo= ($_POST['fmodelo']);
$sql="SELECT * FROM Vehiculos v, Modelos mo, Marcas m WHERE(v.idModelo = mo.idModelo) AND (m.idMarca = mo.idMarca) AND (m.idMarca= $idmarca) AND (mo.idModelo = $idmodelo) AND (v.idTipo = $idtipo) ";
pero obviamente si el usuario dejo un campo sin completar la consulta no devolvera nada..
no se me ocurre otra solucion, probe cambiando los AND por OR pero da el mismo resultado
espero me sepan entender, trate de ser lo mas claro posible..