Вероятно най-добре е да направите това като единична част от SQL:-
UPDATE stock a INNER JOIN order b ON a.part = b.part
SET a.available = a.available - b.qty
WHERE b.invoice` = '$order'
Внимавайте да не пуснете това многократно, без да проверите дали дадена поръчка вече не е била използвана за актуализиране на наличността
Правейки го по този начин, ако сте имали 1000 артикула в поръчката, тогава това е една заявка. Извършването на избор и след това заобикаляне на резултатите ще изисква 10 001 заявки.