Bueno yo intentaria algo asì
Código PHP:
$results = $result_r->fetch_assoc();
$query = "SELECT * FROM productos WHERE MATCH (nombre_producto, texto_producto) AGAINST ('$frase' IN BOOLEAN MODE) AND id_relacion IN (".implode(",",$results).") ORDER BY $orden ASC";
ps: tienes muchas ripeticiones de codigo, como la conexion al DB, y tambien la primera parte con los tre 'if' se puede recortar mucho.
Chao!