Buenas amigo, de acuerdo a lo que tienes propuesto, el problema es que mandas siempre a imprimir el indice del ciclo "for" interno.
Código PHP:
<?php
echo "<table border=1 cellspacing=1>\n";
for ($i=1;$i<=5;$i++)
{
echo "<tr>\n";
for ($j=1;$j<=5;$j++)
{
$var=(($i-1)*5)+$j;
echo "<td>".$var."</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
?>
Espero te sirva.
PD: El problema en si no es de un mal enfoque de codificación en PHP, es de un mal enfoque en general, ya que en cualquier lenguaje te imprimiria lo mismo.