hola tengo el mismo problema, y no me lo ordena bien

os dejo el código:
Código PHP:
<?
// Datos de conexión a la base
$base="cmblackriver";
$con=mysql_connect('pub-db.m2kcore.com','cmblackriver','*****');
mysql_select_db($base,$con);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT * FROM cm4anoti LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());
$contar = "SELECT * FROM cm4anoti ORDER BY id DESC";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) { ?>
<table width="100%">
<tr><td width="100%"><img src="images/balons.gif" width="10" height="10"><strong><font size="2"><? echo "$array[nombre]"; ?></font></strong></td></tr>
<tr><td><font size="2"><? echo "$array[mensaje]"; ?></font></td></tr>
<tr><td><font size="1"><? echo "$array[por]"; ?></font></td>
<br>
</tr></table>
<? } /* $array['nombre']. */
// Cerramos la conexión a la base
$con=mysql_close($con);
// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg - 1;
echo "<font size=2 color=000000><b><a href='index2.php?pg=".$url."'>« Anterior</a></b></font> ";
}
else {
echo " ";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font face=Arial size=2 color=0000CC><b>[ $i ]</b></font>";
}
else {
echo "<font size=2 color=000000><b><a href='index2.php?pg=".$i."'>[".$i."]</a></b></font> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<font size=2 color=000000><b><a href='index2.php?pg=".$url."'>Siguiente »</a></b></font>";
}
else {
echo " ";
}
echo "</p>";
?>
qué le véis a este código mal para que no me ordene como debe??
gracias, un saludo,