Las consultas te las realiza bien?? no te tira error de mysql??, fijate de probar como para debugear, de hacer un echo de todas las consultas. Por ejemplo:
Código PHP:
Ver original//datos recuperados por get y post convertidos en variables
@$categoria = $_GET['c'];
@$marca = $_GET['m'];
@$dato = $_POST['dato'];
if(@$categoria != "" AND @$marca == "" AND @$dato == "" )
{
// echo de la consulta por pantalla para ver que me esta escribiendo
echo "SELECT nombre, foto1, SEO, idproducto FROM productos WHERE categoria='$categoria' ORDER BY create_at ASC";
$result = mysql_query("SELECT nombre, foto1, SEO, idproducto FROM productos WHERE categoria='$categoria' ORDER BY create_at ASC", $coneccion) or
die(mysql_error()); }
elseif (@$marca != "" AND @$categoria == "" AND @$dato == "") {
// echo de la consulta
echo "SELECT nombre, foto1, SEO, idproducto FROM productos WHERE marca='$marca' ORDER BY create_at ASC";
$result = mysql_query("SELECT nombre, foto1, SEO, idproducto FROM productos WHERE marca='$marca' ORDER BY create_at ASC", $coneccion) or
die(mysql_error()); }
elseif (@$dato != "" AND @$categoria == "" AND @$marca == "") {
// echo de la consulta
echo "SELECT nombre, foto1, SEO, idproducto FROM productos WHERE MATCH(nombre, categoria, tipo, marca) AGAINST ('$dato')";
$result = $buscar = mysql_query("SELECT nombre, foto1, SEO, idproducto FROM productos WHERE MATCH(nombre, categoria, tipo, marca) AGAINST ('$dato')", $coneccion) or
die(mysql_error()); }
else {
// echo de la consulta
echo "SELECT nombre, foto1, SEO, idproducto FROM productos WHERE estado='Activo' ORDER BY create_at ASC";
$result = mysql_query("SELECT nombre, foto1, SEO, idproducto FROM productos WHERE estado='Activo' ORDER BY create_at ASC", $coneccion) or
die(mysql_error()); }
Coloque 2 cosas nuevas en tu codigo, primero la impresion del sql que estas generando para ver si esta tomando los valores de php que le estas pasando, si ves que en el where te falta el dato fijate de concatenar bien el string con php. Ejemplo:
Y despues agregue despues de cada
mysql_query() un
or die() para que imprima el error de sql en caso de fallar y saber bien en donde te equivocaste.
Proba esto y avisame ;)