Waarschijnlijk het beste om dit als een enkel stuk SQL te doen:-
UPDATE stock a INNER JOIN order b ON a.part = b.part
SET a.available = a.available - b.qty
WHERE b.invoice` = '$order'
Pas op dat u dit niet zomaar meerdere keren herhaalt zonder op een of andere manier te controleren of een bestelling niet al is gebruikt om de voorraad bij te werken
Als je het op deze manier doet, als je 1000 artikelen op de bestelling had, dan is het een enkele vraag. Als u een selectie uitvoert en vervolgens de resultaten doorloopt, zijn 10001 zoekopdrachten vereist.