Ahoj.
Rešíš to zbytečně složitě, ale učený z nebe samozřejmě nespadl (to jen někteří borci).
Natakovéto filtrování dat je často nejvhodnější pracovat už na úrovni databáze.
Databáze zná kouzelné group by, které zajistí výpis jen rozdílných hodnot ve sloupci.
Mělo by tedy stačit upravit:
$dotaz="select druh trida from zbozi group by druh";
Mimochodem nejsem si jistý, jak máš nastaveno při dalších průchodech $vybrano="selected";
Nikde totiž stav $vybrano neměníš.
To by mělo generovat nevalidní HTML kód, kdy všechny položky jsou s atributem selected.
Zatímco podle normy by selected měla být výhradně jedna položka.