En principio puedes usar DISTINCT de Msyql .. Pero sería bueno que te pasaras por el foro de "Base de datos" para que te recomienden algo mejor (tal vez con JOIN y demás ..)
Código PHP:
$string="select DISTINCT $opcion from libros order by $opcion asc";
Un saludo,