Se anche le tabelle ed i campi coinvolti nella query variano a seconda delle condizioni selezionate potresti fare qualcosa del genere:
Codice PHP:
$select = "SELECT x.campo";
$from = " FROM tabella x";
$where = " WHERE x.campo = valore";
if ($condizione1) {
$select .= ", c1.campo";
$from .= ", tabella1 c1";
$where .= " AND c1.campo = valore";
}
if ($condizione2) {
$select .= ", c2.campo";
$from .= ", tabella2 c2";
$where .= " AND c2.campo = valore";
}
...
if ($condizioneN) {
$select .= ", cN.campo";
$from .= ", tabellaN cN";
$where .= " AND cN.campo = valore";
}
$query = $select.$from.$where;
Ovviamente devi adattare il tutto alle tue esigenze.