When the page is called, your first query retrieves some information and formats it into input fields "that can be edited" as you say. When this happens, the web server sends that page to the user's browser and your script ends. period.
If the user modifies any of the information, they must send that information back to your server. That's what forms are for. When they click the submit button, they are actually sending a whole new request to the server, the form info just tags along for the ride.
If the form was defined to call the same script again (PHP_SELF) then your script is invoked all over again. This is a new run of your script, it has no idea what happened the first time. You have to check to see if this is a first run (retrieve and display the info) or the submit of changed info by the user (so it can update the db).
No getting around using a form if the user needs to update data that you sent to their browser.
-- Rich