Io avrei fatto così:

Codice PHP:
<?
// dati per la connessione al database

$db_host       "localhost";
$db_user       "root";
$db_password   "";
$db_name       "test";

// connessione al database

$db            mysql_connect ($db_host$db_user$db_password);
$db_forum      mysql_select_db ($db_name$db);

// query di inserimento


$sql "SELECT ID,NOME,COGNOME,TELEFONO FROM rubrica";
$result mysql_query($sql) or die ("Errore: " .mysql_error() );
echo 
"

"
;
echo 
"<center><table><tr><td>NOME</td><td>COGNOME</td><td>TELEFONO</td><td></td></tr>"// Questo stampa la prima riga con i nomi delle colonne

for ($a 0$a $totale_record$a++) 
{
print 
"<tr>"//Apre la riga
print "<td>".mysql_result($result,$a,'nome') ."</td>";
print 
"<td>".mysql_result($result,$a,'cognome')."</td>";
print 
"<td>".mysql_result($result,$a,'telefono')."</td>";
print 
"<td><a href=\"modifica.php?modifica=".mysql_result($result,$a,'id')."\">Modifica</a></td>";
print 
"</tr>"//chiude la riga
}
echo 
"</table></center>";
?>

Poi ovviamente nella pagina modifica.php recuperi il GET e lo salvi in un input hidden.
Così come hai fatto.

Magari non sarà stilisticamente perfetta.. non lo sono mai stato..