Probably because after the form is submitted, the variable $completed is an array, and you're not referencing an array index in your SQL statement. Since you have a group of checkboxes, it's possible to have more than one selection. Which means when you manipulate the results of the form, the variable $completed may have more than one index.
Try something like:
$query = "update details set completed = 'Yes' where number_ID = '$completed[0]'";
The above will use the value in the first index of the array. If you want to present a user with several choices but force them to make only one choice, use a radio cluster instead. This way, you're not dealing with arrays on the other side of the form, you only have one value to deal with. When you have checkboxes, you can have multiple values, which you will have to reference after the form has been processed.