In quel caso viene ricaricata tutta la pagina, con Ajax invece solo il contenuto del div in questione.

Comunque, se non ti interessa che la pagina si ricarichi, allora non c'è problema, lato php generi il contenuto da mostrare a seconda del parametro che riceve, metti tutto in una variabile e ne fai un echo nel div che mostra i contenuti.

In pratica ti fai tutta la struttura della pagina: header, menu laterale, footer ed eventualmente altri elementi che devono sempre apparire, poi il div per i contenuti variabili fatto così
Codice PHP:
<div class='qualcosa'>
<?php echo $contenuto ?>
</div>
dove $contenuto è la variabile che contiene il contenuto da mostrare.