Primer, trata de acordarte de las
Normas del Foro de Base de Datos: Acá no se postean ni solucionan problemas de programación, por lo que todo lo de PHP y/o HTML está fuera de lugar, sin contar conque además no aporta nada a la solución.
Segundo, sería mejor que aclararas a qué "TODO" te refieres, porque la consulta que propones:
en realidad sí trae todo, pero con la condición de que ambos valores se ingresen. Ese es el sentido del AND: O las dos cosas o ninguna (eso es lógica proposicional, si no la has estudiado, te aconsejo que veas en Wikipedia).
Ahora bien, si lo que quieres es que con sólo uno de ambos valores (Tipo y Musica), se suficiente, eso se hace con OR, no con AND (de nuevo: lógica proposicional, en el OR es suficiente que uno sólo se de para que sea TRUE).
Pero lo que quieres es que la sentencia incluya una u otra opción, o múltiples, en función de una selección múltiple, te convendrá trabajar creando dinámicamente la sentencia... Eso se debe construir de modo que la sentencia resultante quede, por ejemplo:
Código MySQL:
Ver original tipo
= IN('Pub', 'Discoteca', 'After') musica
= IN('Heavy', 'Rock', 'Electronica')
Este tipo de opciones múltiples requiere que los diferentes valores de cada lista se armen por programación.
Este tema lo tienes que consultar en el Foro de PHP... Es tema de programación.
En