Cita: y array_unique todos los productores que hay sin que me los repita en el array, dado que de los 150 productos muchos comparten productor.
array_unique es totalmente valido. Aunque también podrías usar "GROUP_BY productor" en la sentencia sql.
Cuando estás haciendo esto:
$ProductoresLista = array_unique($FamiliasLista);
teóricamente eliminás duplicados, pero la clave de ese array es numérica y única, así que no habría duplicados. Fijate:
$FamiliasLista[] = $row_Productos['es_Familia'];
Si hacés un print_r($FamiliasLista) vas a tener un array de claves numéricas, donde cada ítem va a contener un array con información de la base de datos.
La solución es que pongas una clave vos cuando hacés el while. La que necesites:
Cita: while ($row_Productos = mysql_fetch_array($Productos)){
$FamiliasLista[ $row_Productos['producto'] ] = $row_Productos['es_Familia'];
}
... y ahí sí pases el array_unique.