Se arrivano via post, ipotizzando che siano così formati (quindi da checkbox) e che nel POST ci siano solo i campi
POST => Array("campo1" => "on", "campo2" => "on", "campo6" => "on");
Codice PHP:
if (sizeof($_POST)) {
    
$campi implode(","array_keys($_POST));
} else {
    
$campi "*";
}
$sql "SELECT {$campi} FROM tabella WHERE 1; 
Se invece nel $_POST ci sono anche altri valori, sempre ipotizzando che i campi arrivino da checkbox
Codice PHP:
$campi = Array();
if (
sizeof($_POST)) {
    foreach (
$_POST as $campo => $valore) {
        if (
trim(strtolower($valore)) == "on") {
            
$campi[] = $campo;
        }
    }
}
if (
sizeof($campi)) {
    
$campi implode(","array_values($campi));
} else {
    
$campi "*";
}
$sql "SELECT {$campi} FROM tabella WHERE 1"