conoscendo tutti i campi, per non fare troppe query, potresti fare un array con tutti i campi $campi = array(campo1, campo2...) poi fai un foreach($campi as $dato) del tuo array e ad ogni campo esegui la query:
{ //inizio foreach

SELECT DISTINCT $dato FROM tabella ORDER BY prodotto ASC e tutto il resto per completare la query.....

ti crei cosi' un array per campo che contiene i risultati che poi stamperai con un ciclo a loro volta.

PS e' un idea se nn ne hai altre