as Gotaka4 pointed out you need a WHERE clause. Regardless of what records you pulled to display (with an initial WHERE of completed=0) the database does not KNOW that you only pulled XX number of rows to display.
So..... You need to qualify your UPDATE statement with a WHERE clause with a specific WHERE clause such as UPDATE orders set complete=1 WHERE order_id=40;
(again as Gotaka4 suggests). So maybe on the submit, you have a HIDDEN field to pass the order numbers that you want to change to complete.
Via Web @ http://www.mnetweb.co.uk/irc
Via IRC Client pgardner.net:6667