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.