...

... en principio hablas de temas, autores y demás.. pero tu código no ayuda a nada en enterder qué es tema, autor ó lo que sea...

... ... mira, por lo pronto quizá esto te sirva:
http://www.forosdelweb.com/f18/hacer-consulta-multiple-267358/
ahí ayude a crear una busqueda en un solo campo donde el criterio a buscar puede venir de varios checkbox... sé que no es exactamente lo que buscas pero espero te sirva de idea de cómo puedes construir tu query sin necesidad de tantos if's... (y sé que se puede optimizar más).
Alguna vez hice algo parecido en donde de dos select's podria crearse una busqueda en dos columnas diferentes (y combinaciones)... por desgracia no lo encuentro... si lo encuentras te lo agradeceré

... como sea, la idea ahí está.... y tu problema casi seguro esta en tu query... pero ayudanos a entender un poco más.
Por lo demás, le mejor de las suertes!