Bueno, el segundo caso es el siguiente, el cuál no he podido hacer que funcione completo hasta este momento que funcionan 3 de los 6 filtros.
Yo tengo en la página principal una buscador que hace lo siguiente: busca por Año, Producto, Marca, Modelo, Submodelo y Versión.
Siguiendo la línea del código anterior hice esto:
Código PHP:
if (isset($_POST['buscarAvz'])) {
$producto = $_POST['producto'];
$marca = $_POST['marca'];
$modelo = $_POST['modelo'];
$submodelo = $_POST['submodelo'];
$version = $_POST['version'];
$anio = $_POST['anio'];
$flag = 0;
if($producto > 0) { $flag = 1; }
if($producto > 0 and $marca > 0) { $flag = 2; }
if($producto > 0 and $marca > 0 and $modelo > 0) { $flag = 3; }
if($producto > 0 and $marca > 0 and $modelo > 0 and $submodelo > 0) { $flag = 4; }
if($producto > 0 and $marca > 0 and $modelo > 0 and $version != "" ) { $flag = 5; }
if($flag == 1) {
$selectBusqueda = "Select codigo_barras, nombre, anio, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio, Group_Concat(Distinct anio Order by anio Desc Separator ', ') as anio_concatenado
From productos as prod
Left Join marca as marca On (id_marca = prod.marca)
Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche)
Left Join modelo as model On (id_modelo = prod.modelo)
Left Join submodelos as sub On (id_submodelo = prod.submodelo)
WHERE prod.marca = '$_POST[producto]'
Group By codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio";
$queryBusqueda=mysql_query($selectBusqueda);
$numRegistros=mysql_num_rows($queryBusqueda);
}
if($flag == 2) {
$selectBusqueda = "Select codigo_barras, nombre, anio, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio, Group_Concat(Distinct anio Order by anio Desc Separator ', ') as anio_concatenado
From productos as prod
Left Join marca as marca On (id_marca = prod.marca)
Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche)
Left Join modelo as model On (id_modelo = prod.modelo)
Left Join submodelos as sub On (id_submodelo = prod.submodelo)
WHERE prod.marca = '$_POST[producto]'
and prod.marca_coche = '$_POST[marca]'
Group By codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio";
$queryBusqueda=mysql_query($selectBusqueda);
$numRegistros=mysql_num_rows($queryBusqueda);
}
if($flag == 3) {
$selectBusqueda = "Select codigo_barras, nombre, anio, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio, Group_Concat(Distinct anio Order by anio Desc Separator ', ') as anio_concatenado
From productos as prod
Left Join marca as marca On (id_marca = prod.marca)
Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche)
Left Join modelo as model On (id_modelo = prod.modelo)
Left Join submodelos as sub On (id_submodelo = prod.submodelo)
WHERE prod.marca = '$_POST[producto]'
and prod.marca_coche = '$_POST[marca]'
and prod.modelo = '$_POST[modelo]'
Group By codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio";
$queryBusqueda=mysql_query($selectBusqueda);
$numRegistros=mysql_num_rows($queryBusqueda);
}
if($flag == 4) {
$selectBusqueda = "Select codigo_barras, nombre, anio, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio, Group_Concat(Distinct anio Order by anio Desc Separator ', ') as anio_concatenado
From productos as prod
Left Join marca as marca On (id_marca = prod.marca)
Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche)
Left Join modelo as model On (id_modelo = prod.modelo)
Left Join submodelos as sub On (sub.id_submodelo = prod.submodelo)
WHERE prod.marca = '$_POST[producto]'
and prod.marca_coche = '$_POST[marca]'
and prod.modelo = '$_POST[modelo]'
and prod.submodelo = '$_POST[submodelo]'
Group By codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio";
$queryBusqueda=mysql_query($selectBusqueda);
$numRegistros=mysql_num_rows($queryBusqueda);
}
if($flag == 5) {
$selectBusqueda = "Select codigo_barras, nombre, anio, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio, Group_Concat(Distinct anio Order by anio Desc Separator ', ') as anio_concatenado
From productos as prod
Left Join marca as marca On (id_marca = prod.marca)
Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche)
Left Join modelo as model On (id_modelo = prod.modelo)
Left Join submodelos as sub On (id_submodelo = prod.submodelo)
WHERE prod.marca = '$_POST[producto]'
and prod.marca_coche = '$_POST[marca]'
and prod.modelo = '$_POST[modelo]'
and prod.submodelo = '$_POST[submodelo]'
and version = '$_POST[version]'
Group By codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, version, precio";
$queryBusqueda=mysql_query($selectBusqueda);
$numRegistros=mysql_num_rows($queryBusqueda);
}
}
la forma en que hago que se carguen los combobox's de búsqueda es mediante Javascript de esta forma:
Código:
$(document).ready(function(){
$("#producto").change(function(event){
var id = $("#producto").find(':selected').val();
$("#marca").load('producto.php?id='+id);
});
$("#marca").change(function(event){
var idm = $("#marca").find(':selected').val();
$("#modelo").load('producto2.php?idm='+idm);
});
$("#modelo").change(function(event){
var idml = $("#modelo").find(':selected').val();
$("#submodelo").load('producto3.php?idml='+idml);
});
});
Ahora, el flag 1 al 3 funcionan perfectamente, es decir, cuando selecciono por Producto, Producto+Marca, Producto+Marca+Modelo. Sin embargo cuando hago la selección de búsqueda por Producto+Marca+Modelo+Submodelo ya no funciona, ni siquiera entra en el flag 4 y consecuentemente a los flags más altos tampoco entra.
¿Alguna idea sobre esto?