Ciao Nicola,
ho appena provato a modificare il codice con la query da te suggerita ma vien fuori un problema.
Ti scrivo il codice:

<?
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_n ame) or die ("non riesco a connettermi");
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
$sql = "SELECT id, testo FROM news order by id desc limit 2";
$result = @mysql_query($sql) or die(mysql_error ());
$row = @mysql_fetch_array($result);
$id_art = $row['id'];
$testo = $row['testo'];
if (!$id_art)
{
echo "Id sconosciuto";
}else{
@header ("Content-type: ".$testo);
echo $testo;
}
?>

Il problema è molto semplice. Nonostante imponga il limit 2, mi fa vedere solo il testo relativo all'ultimo articolo. Ho provato a mettere 3, 4, 5 ma nulla. Mi fa sempre vedere l'ultimo, come se fosse impostato su limit 1.
Dove sta l'errore?

p.s. siccome stò imparando da poco il php e sql ti e vi prego, se è una banalità non incacchiatevi!