allora:

procedendo normalmente dovresti effettuare una query ogni volta che cambi pagina per ottenere la descrizione che hai dato a quest'ultima, se invece vuoi ottimizzare il tutto puoi procedere in questo modo:

tabella mysql con due campi NomePagina DescrizionePagina

io normalmente utilizzo un file (dove tengo le funzioni comuni) che includo in tutte le pagine



ora realizzi due funzioni

function get_nome (nomepagina) {
if (!isset($_SESSION['nomepagine']) {
get_array_nomi();
}
return $_SESSION['nomepagine'][nomepagina];
}

function get_array_nomi() {
$pagine=array();
$res=mysql_query("SELECT * FROM tabella");
while ($dati=mysql_fetch_array($res)) {
$pagine[$dati['NomePagina']]=$dati['DescrizionePagina'];
}
$_SESSION['nomepagine']=$pagine;
}


La logica dovrebbe essere chiara... la prima volta che visualizzano una qualsiasi pagina richiami la funzione get_nome, il sistema si accorge che $_session['nomepagina'] non è settato e richiama la funzione get_array_nomi, le volte successive, invece, la funzione si accorge che l'array di Sessione è settato e quindi restituisce il valore senza eseguire nessuna query...

Può essere che c'è qualche errore nel codice perchè l'ho buttata giù così... però penso che la logica sia chiara.

ciao