la consulta es un lío, por el momento me intersa mas sacar los valores max y min de precio
Código PHP:
while ($row_catalogos = mysql_fetch_array($catalogos)) {
$catalogo_id[]=$row_catalogos[IDProducto_Catalogo];
}
$visitando = str_replace(",", " ", $visitando);
$busqueda=$visitando;
if ($busqueda<>''){
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca="SELECT * FROM producto_productos WHERE ( Nombre LIKE '%$busqueda%' or Clave LIKE '%$busqueda%' or Descripcion LIKE '%$busqueda%') and (";
foreach($catalogo_id as $c):
$cadbusca.= " IDProducto_Catalogo='$c' or ";
endforeach;
$cadbusca=substr($cadbusca, 0, -3);
$cadbusca.=") LIMIT 50 ";
} elseif ($numero>1) {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
$cadbusca="SELECT *, MATCH ( Descripcion ) AGAINST (' ";
foreach($trozos as $f):
$cadbusca.= " ". trim($f)."";
endforeach;
$cadbusca.=" ') AS Score FROM producto_productos WHERE MATCH ( Descripcion) AGAINST ('";
foreach($trozos as $f):
$cadbusca.= " ". trim($f)."";
endforeach;
$cadbusca.="' IN BOOLEAN MODE ) and (";
foreach($catalogo_id as $c):
$cadbusca.= " IDProducto_Catalogo='$c' or ";
endforeach;
$cadbusca=substr($cadbusca, 0, -3);
$cadbusca.=" ) ORDER BY Score DESC LIMIT 50";
}
}
$resulta = mysql_query($cadbusca,$db) or die(mysql_error());