Si, te explicaste barbaro, y la respuesta que te estoy dando te sirve, solo que no la estas interpretando bien me parece...
A ver, algo asi me refiero yo
Tu html
Código HTML:
Opciones de filtro
<form action="tuScript.php" method="post">
<u>Cargo</u>
<br />
Contador <input type="checkbox" name="contador" value="contador" />
<br /><br />
<u>Nombre</u>
<br />
Juancito <input type="checkbox" name="juancito" value="juancito" />
<br />
<input type="submit" value="Filtrar" />
</form>
En "tuScript.php"
Código PHP:
<?php
/**
* Filtros
* */
$contador = $_POST['contador'];
$juancito = $_POST['juancito'];
if(!empty($contador) && empty($juancito)){
$sql = "SELECT * FROM tuTabla WHERE cargo = 'contador';";
}else if(!empty($juancito) && empty($contador)){
$sql = "SELECT * FROM tuTabla WHERE nombre = 'juancito';";
}else if(!empty($juancito) && !empty($contador)){
$sql = "SELECT * FROM tuTabla WHERE cargo = 'contador' AND nombre = 'juancito';";
}
?>
Luego de hacer la consulta y traer los datos, pasas un parametro cualquiera de referencia de nuevo al html para saber que checkboxes estaban tildados y cuales no, asi mantienes los filtros
Se entiende?