On 13/07/2010, Marc Delisle marc@infomarc.info wrote:
Ninad, when I edit a row, change a value and click Go:
I get a message "0 rows affected"
The row is redisplayed without the change
Editing of rows of data from a table? I'm yet to begin work on Inline editing. I am starting that in a couple of hours.
I remember reading a thread on this mailing list where possible options to enable inline editing were discussed, but I could not find that thread in the archives. I have these two ideas in mind:
1) - User clicks on the edit button in a row. Inline editing is activated and input fields are shown in place of the previous data. The edit button might be highlighted or a different icon could be used, to show that editing for that row is in progress. - The user modifies the data, and clicks on the edit button again. An Ajax request is fired off. - If the request completes successfully, the input fields are hidden/removed and the table shows the new data in that field/row.
2) - User clicks on the edit button for row1. Inline editing is activated same as above. - User modifies the data, and clicks on the edit button again. No Ajax request is fired off, but a 'Save Changes' button is appended after the data table. - User modifies row2, same as row1 (or for that matter, any number of rows). - Once he is satisfied with the changes, he clicks on the save changes button and the ajax request is fired off, saving changes.
Is there another possible idea for inline editing? And, which is the best from them all? I'll start modifying libraries/display_tbl.lib.php to include the input fields and start working on the first idea, till we are sure which idea is better. It can be further developed into the second idea with a few changes.
If I browse the table I see the change but I get:
Notice in ./libraries/common.lib.php#1065 Undefined index: cell_align_left
This error was reported by Dieter too. I'll use the debugger and find out if there is any statement that is causing $GLOBALS['cell_align_left'] to be unset before a call to PMA_showMessage().