Salve, sto realizzando un semplice programmino in php che gestisca i contatti di aziende e contatti di dipendenti di queste aziende, ho realizzato una visualizzazione di una tabella e intabellato in una pagina, ora però vorrei inserire nella stessa pagina dei risultati sia un menu a tendina sotto che visualizza quanti elementi visualizzare per pagina e inoltre volevo che se si clicca su una colonna i dati vengano ordinati per quella colonna e se nel caso ci si riclicca vengano ordinati ascendentemente, un pò come fà windows con explorer quando si visualizzano i file in modalità dettagli, solo che non sò che metodo usare, i miei quesiti sono:

se inserisco un menu a tendina come faccio a far aggiornare la pagina quando uno seleziona esempio 30 risultati per pagina e quindi a visualizzarli?

come faccio a rendere cliccabile il titolo di ogni colonna in modo che se viene cliccato i dati vengano ordinati per quella colonna?

come si passano i dati alla stessa pagina per permettere di riaggiornare la visualizzazione con la stessa pagina?

sto impazzendo a pensare come fare ma non ne vengo a capo, non riesco ancora a pensare un metodo comune che viene utilizzato in php per fare queste cose.

premetto che ho un db in mysql e ho un file chiamato "functions.php" dove all'interno sono contenute alcune funzioni per il db che ho realizzato, il mio dubbio è solo come poter riaggiornare la pagina con le nuove richieste...
fin'ora ho avuto a che fare solo con i form e non sò come potrei fare questa cosa