Bueno, la verdad es que no entiendo muy bien tu codigo, o mas bien lo que quieres hacer... pero asumo que quieres tener tus noticias organizadas por categoría.
La forma en la que tienes el código hará algo muy extraño:
1.- Tomará la categoría de la primera fila de resultados y en base a ello construirá UN solo encabezado de categoría. Por ejemplo, si la primera es nacional, TODOS tus registros caerán dentro de ese encabezado, aun que tengas varias categorías en el resultado.
2.- Despues de haber creado el encabezado construye un loop que agrega filas, pero ya no ven que categoría tiene cada noticia.
Si lo que quieres lograr es que las noticias se agrupen por categorías, deberas meterle un poco más al script, sobre todo considerando que tienes imagenes diferentes para mostrar en el encabezado de cada una...
Código PHP:
<?php
//Primero haces un array con las imagenes de cada categoria
$img_cat=array (
1=>"img/nacionales.gif",
2=>"img/internacionales.gif",
3=>"img/asig.gif");
// Y los nombres de las mismas
$nom_cat=array (
1=>"Nacionales",
2=>"Internacionales",
3=>"De Asignatura");
// Luego corres tu query
conectaserver("10.7.3.25","root","","marxismo","mysql");
$consulta = mysql_query("SELECT * FROM noticias ORDER BY categoria , idnoticia");
// Inicias tu tabla
echo "<table width=100% border=0 cellspacing=0 cellpadding=0>";
//Construyes la lista de noticias
$catshow=0;
while ($resultado = mysql_fetch_array($consulta)) {
// Aqui hacemos la particion de categorías
if ($catshow!=$resultado["categoria"]) {
$catshow=$resultado["categoria"];
echo "<tr>\n<td colspan=3><img src=\"".$img_cat[$resultado["categoria"]]."\" border=0 alt=\"".$nom_cat[$resultado["categoria"]]."\"></td>\n</tr>";
}
// Ahora si, sacas las lineas con las noticias...
echo "<tr>
<td rowspan=3><div align=center><img src=img/".$result['imagen']." alt='".$result['altimage']."' border=0 width=204 height=154></div></td>
<td valign=bottom><span class=newstitle>".$result['titulo']."</td>
</tr>
<tr>
<td valign=top><span class=txt>".$result['resumen']."</td>
</tr>
<tr>
<td valign=top><span class=txt><a href=noticias.php?accion=mostrar&cat=".$categoria."&idnoticia=".$idlectura.">Ver más[+]</a></td>
</tr>";
}
// Y cierras la tabla...
echo "</table>";
Esto debería funcionar, pero si no, ya solo le faltaría uno que otro ajustillo...