Buenos días,
Tengo un problema con unas consultas que no me funcionan en
PHP, pero si las ejecuto en
Mysql funcionan bien, les detallo como esta el caso:
Tengo 6 tablas, las cuales son:
Tabla menu:
id_menu nombre Tabla marca id_marca marca Tabla marca_coche id_mcoche marca_coche Tabla modelo id_modelo modelo Tabla submodelos id_submodelo submodelo Tabla productos id_productos codigo_barras nombre caracteristicas id_menu anio marca marca_coche modelo submodelo version
Donde, en la tabla
productos, los campos de
id_menu,
marca,
marca_coche,
modelo y
submodelo están ligados con las tablas anteriores por el
id.
Ahora me iré por partes porque no quiero confundirlos. Son tres consultas que puedo hacer en la página de productos.php.
La primera trata así: Si desde cualquier otra sección diferente a productos.php, le doy click en un menú para ir hacia esa página, sucede esto:
http://localhost/eyg/productos.php?menu=3
es decir, se configura la variable "menu" al valor correspondiente a la tabla menu por el id, en este caso fue 3.
y se ejecuta el siguiente script:
Código PHP:
<?php
var_dump($_GET);
$idmenu = $_GET['menu'];
$marcaGet = $_GET['marca'];
$marcaChe = $_GET['marca_coche'];
if(isset($idmenu)) {
$selectBusqueda = "Select id_menu, 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 id_menu = $idmenu
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);
}
Hasta aquí, todo va bien. Sin embargo, si en el menu, selecciono la marca o el modelo se envía lo siguiente:
http://localhost/eyg/productos.php?m...ca_coche=ACURA
intenté hacer esto para obtener la consulta ahora con la marca y el menu
Código PHP:
elseif(isset($idmenu) and isset($marcaGet)) {
$selectBusqueda = "Select id_menu, 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 id_menu = $idmenu
and marca.marca = $marcaGet
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);
}
Sin embargo la consulta ya no funciona, es decir, al parecer nunca entra en el segundo if (elseif). La segunda consulta, así como la primera funciona bien en MySql, el problema radica cuando llevo la información a PHP.
Esta es sólo la primera de tres secciones de búsqueda, pero por el momento sólo pongo aquí la primera. ¿alguien tiene alguna idea de en que estoy equivocándome?
De antemano agradezco sus comentarios. Saludos.
Por cierto! No puse el código donde se muestra la información en la página porque trae la información de acuerdo a la consulta, es decir la trae bien, el problema es que la segunda consulta no esta siendo ejecutada.