Bueno, finalmente he hecho los siguiente.
Creo que es un poco burrada pero lo posteo por si le puede servir a alguien y sobretodo, por si alguien me pude comentar alternativas más limpias
Código PHP:
Ver original// $itmf es una condicion extra que depende del formulario de búsqueda
// $ordf depende también del formulario de búsqueda
// $tipf es AND o OR dependiendo de si se selecciona búsqueda que contengan todas las palabras o no
// para más de 5 palabras, la idea era enviar a la ... pero al final, he decidido que no...
if (count($paraules) == 1){ WHERE $alt LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
}
elseif (count($paraules) == 2){ WHERE $alt LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
}
elseif (count($paraules) == 3){ WHERE $alt LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
}
elseif (count($paraules) == 4){ WHERE $alt LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[3]%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[3]%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
}
elseif (count($paraules) == 5){ WHERE $alt LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[3]%'
AND sec1+0 > 0
$itmf
$tipf $alt LIKE '%$paraules[4]%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$paraules[0]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[1]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[2]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[3]%'
AND sec1+0 > 0
$itmf
$tipf $texto LIKE '%$paraules[4]%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
}
else {
WHERE $alt LIKE '%$frase%'
AND sec1+0 > 0
$itmf
OR $texto LIKE '%$frase%'
AND sec1+0 > 0
$itmf
ORDER BY $ordf")
or
die("Error, pruebe más tarde"); }
}