Everytime you submit your Form, all inputs will be send. Now, you have probably multiple by the same name: e.g. 'MealID'. So, whenever you ask
$value = $_POST['MealID'];
you will get the first entry.
Make sure that the Names of the inputs are different, or that you create a separate Form per row. For example:
<form method='POST'><input type='hidden' name='MealID' value='Meal1'><input type='submit' name='submit' value='Complete'></form>
<form method='POST'><input type='hidden' name='MealID' value='Meal2'><input type='submit' name='submit' value='Complete'></form>