la cosa più semplice: ti imposti una variabile "pag" in querystring.. ed in base a quella estrai un intervallo di caratteri che preferisci...
Codice PHP:
//nella prima pagina non hai la variabile...
if(!isset($_GET['pag']) $_GET['pag'] = 1;
//.... fai la queri e leggi in $testo il tetso...
$limite = 5000; //poniamo che vuoi 5000 caratteri per pagina
$lunghezza_totale = strlen($testo);
$num_pag = $lunghezza_totale/$limite; //così ottieni il numero di pagine..
///in base al numero di pagina mi estraggo una specifica substringa
$testo_di_questa_pagina = substr($testo, $limite*($_GET['pag']-1), $limite*$_GET['pag']);
for ($i = $_GET['pag']; $i <= $num_pag; $i++)
echo "<a href=\"£_SERVER['PHP_SELF']?pag=$i\">pagina $i </a> ";
più o meno dovrebbe andare bene.. ma l'ho scritto di fretta non escludo sviste.
inoltre mi sa che puoi fare direttamente una query che estragga una substringa... il modo di calcolare la pasizione della substringa in base all apagina dovrebbe essere sempre quello 