Se ho capito cosa ti serve (ma non ne sono sicuro).....
Il pulsante di stampa , deve puntare ad un nuovo script che reinterroga il DB in base alle richieste dell'utente nella prima pagina.
Dovrai prevedere una sorta di form con delle checkbox o simili per indicare alla pagina di action quali elementi dinamici aggiungere alla query.

Per intenderci.
Su pagina 1 presenti una lista di risultati (parziali) di una query.
Metti che vuoi stampare solo alcuni record.
In fondo ad ogni rigo, metti un checkbox che indica di quali record vuoi la stampa dei dettagli.
Il pulsante stampa, che chiuderà la form in questione, invierà ad un nuovo file PHP.
Questo secondo file, leggerà di quali record si sta trattando e provvederà ad interrogare nuovamente il DB per farti restituire tutte le informazioni relative agli ID di record che hai passato.
Una volta composta la query, la manderai in esecuzione e farai in modo che i risultati vengano formattati e restituiti sotto forma di file excel.

Stesso discorso se vuoi filtrare i campi di ricerca.
Metterai la spunta sui nomi delle colonne che l'utente vorrà che vengano visualizzate.
Il secondo script riceverà i valori passati e comporrà la query in base a quelli.

Spero di non avere cannato nella lettura della tua domanda.