jquery ti può aiutare solo in un senso: filtrare i dati dal lato client, questo vuol dire che tu fai una query che estrae TUTTI i dati della tabella, e poi lasci al client il compito di filtrarli, ovviamente è una soluzione che va bene solo se non ci sono problemi di sicurezza e in ogni caso su tabelle molto limitate, perchè se devi inviare al client una tabella con un milione di righe il file HTML diventa enorme.

per quanto riguarda invece fare i filtri da PHP (che secondo me è sempre la soluzione migliore )
io li farei così:

Codice PHP:

$query 
"SELECT * FROM persone WHERE 1 ";

if( isset(
$_POST['nome']) && $_POST['nome'] !="" ){
    
$query .="&& persone.nome = \"".trim($_POST['nome'])."\" ";
}

if( isset(
$_POST['nome']) && $_POST['nome'] !="" ){
    
$query .="&& persone.cognome = \"".trim($_POST['cognome'])."\" ";