Puoi fare tutto tramite javascript.
In ogni cella della tabella hai due div, uno contentente solo il testo, l'altro contenente un input text, inizialmente nascosto, con lo stesso testo iniziale. L'ultima colonna conterrà i pulsanti di edit per ciasuna riga, e alla pressione di un pulsante lanci una funzione javascript che nasconde il testo non editabile e mostra gli input editabili. Questa funzione javascript riceve due parametri: il numero di riga e il numero delle colonne editabili.
Codice PHP:
<table>
<tr>
<td>
<div id="testo_fisso_riga_1_cella_1">
Testo della cella 1
</div>
<div id="testo_modificabile_riga_1_cella_1" style="display: none">
<input type="text" id="textField1_1" value="Testo della cella 1" />
</div>
</td>
<td>
<div id="testo_fisso_riga_1_cella_2">
Testo della cella 2
</div>
<div id="testo_modificabile_riga_1_cella_2" style="display: none">
<input type="text" id="textField1_2" value="Testo della cella 2" />
</div>
</td>
...e così via per le altre colonne fino all''ultima...
<td>
<input type="button" onclick="return editaCampi('1',2);" value="Edit" />
</td>
</tr>
<tr>
<td>
<div id="testo_fisso_riga_2_cella_1">
Testo della cella 1
</div>
<div id="testo_modificabile_riga_2_cella_1" style="display: none">
<input type="text" id="textField2_1" value="Testo della cella 1" />
</div>
</td>
<td>
<div id="testo_fisso_riga_2_cella_2">
Testo della cella 2
</div>
<div id="testo_modificabile_riga_2_cella_2" style="display: none">
<input type="text" id="textField2_2" value="Testo della cella 2" />
</div>
</td>
...e così via per le altre colonne fino all''ultima...
<td>
<input type="button" onclick="return editaCampi('2',2);" value="Edit" />
</td>
</tr>
....
</table>
<script>
function editaCampi(riga,colonne){
for(i=1;i<=colonne;i++){
document.getElementById('testo_fisso_riga_'+riga+'_cella_'+i).style.display='none';
document.getElementById('testo_modificabile_riga_'+riga+'_cella_'+i).style.display='block';
}
return false;
}
</script>
Alla fine, fuori dalla tabella metti il pulsante di salvataggio (submit della form) sul database