Guarda io le news di solito le inserisco in un file XML e faccio il parsing in PHP (SimpleXML è ottimo per la lettuda).

L'impaginazione la faccio attraverso la classe Pager PHP che la trovi in rete.
E' nata x ricevere dati da SQL ma la ho riadattata a XML.

funziona bene, poi se trovi bug o qualcosa ( io nn ne ho avuti fammi sapere).

L'unica cosa è che te la devi adattare


<?php
include('library/pagerclass.php');

//LEGGO XML

$datexml="xml/date.xml";
$xml = simplexml_load_file( $datexml );
$eventi= array();
$k=0;

foreach($xml->evento as $evento){ //inserisco gli elementi XML in un array
$eventi[$k]= $evento;
$k++;
}

//SETTO I PARAMETRI DEL PAGER
$page =(isset($_GET['page']))?$_GET['page']: 1;
$limit = 4; //LIMITE NEWS PER PAGINA
$total = count($eventi); //TOTALI EVENTI

$pager = Pager::getPagerData($total, $limit, $page);

$limit = $pager->limit;
$page = $pager->page;

//MODIFICA PER LEGGERE GLI XML AL PUNTO GIUSTO
$start = ($page-1)*$limit; //inizializzo il punto di partenza di $i a seconda dela pagina in cui si trova
$stop = $page*$limit; //inizializzo il punto di arrivo di $i a seconda dela pagina in cui si trova
$i=$start;
while( $i<$stop && $i<$total){ //condizioni per evitare errori di visualizzazione nel caso in una pagina ci siano meno di $limit elementi

?>

//QUI SETTI LA TUA VISUALIZZAZIONE

<li class="evento">


<?php echo ''.$eventi[$i]->data.'';?>

<span class="titlealbumdate"><?php echo ''.$eventi[$i]->titolo.'';?></span>
</p>
<?php echo ''.$eventi[$i]->testo.'';?>

<?php
$i++;
}

// PIE PAGINA VISUALIZZA I LINK DELLE PAGINE

print(" <li id='pagine'>");

for ($i = 1; $i <= $pager->numPages; $i++) {
if ($i == $pager->page)
print "<span style='color:#FF0000'>$i</span>";
else
print "$i";
print "|";
}

print " ";
?>

CLASSE PHP PAGER

<?php
class Pager
{
function getPagerData
($numHits, $limit, $page)
{
$numHits = (int) $numHits;
$limit = max((int) $limit, 1);
$page = (int) $page;
$numPages = ceil
($numHits / $limit);

$page = max($page, 1);
$page = min($page, $numPages);

$offset = ($page - 1) * $limit;

$ret = new stdClass;

$ret->offset = $offset;
$ret->limit = $limit;
$ret->numPages = $numPages;
$ret->page = $page;

return $ret;
}
}
?>

ciao caso mai fammi sapere se ti va o che ti serve

solo che devi farti un file xml