jQuery было бы довольно просто сделать это для. В вашем цикле do просто добавьте еще один TD и используйте echo для вывода что-то вроде
<input type='button' class='changeRow' value='Edit' />
Для каждого из других TD вы сначала хотите вывести значения внутри диапазона с именем класса, например,
<span class="labelValue">..What your PHP actually outputs..</span>
Затем скрытое текстовое поле, или что-то в этом роде, в зависимости от того, как вы на самом деле хотите редактировать. Каждый с className, относящимся к этой строке. так
<input type='text' class='editInput' value='' style='display: none;'/> etc...
Затем, используя jQuery, вы можете связать все это вместе, чтобы сделать его редактируемым, как
$(document).ready(function(){
$('.changeRow').click(function(){
var tb = $(this).parents('tr').find('input.editInput');
var label = $(this).parents('tr').find('span.labelValue');
if($(this).val() == 'Edit'){
tb.val(label.html());
label.hide();
tb.show();
$(this).val('Save');
}
else{
label.html(tb.val());
tb.hide();
label.show();
$(this).val('Edit');
}
});
});
Поэтому, когда ваш HTML выводится, он будет выглядеть примерно так
<td> <!-- The extra td for your edit button -->
<input type="button" class="changeRow" value="Edit">Some Job Type</span>
</td>
<td nowrap>
<span class="labelValue">Some Job Type</span>
<input type="text" class="editInput" value="" style="display: none;" />
</td>