Ok może inaczej - co chcesz mieć "na wyjściu" swojego działania to znaczy jaki rodzaj wyniku by Cię satysfakcjonował po zczytaniu na przykład 10 kodów?
Ma to być zapytanie w stylu
UPDATE produkty SET a = 1 WHERE kod IN(1234,5678,98767,132124)

Czy jak?

Bo jeśli tak to sprawa jest dość prosta

Robisz plik index.php:
<form action="readcode.php" method="get">
<input type="text" name="code" />
<input type="submit" name="dodaj"/>
</form>
<h3>Podane kody:</h3>
<div>
<?php echo implode(',',$_SESSION['codes'])?></div>
<a href="updatecodes.php">Zapisz zmiany</a>
readcode.php:
<?php
if(!isset($_SESSION['codes'])) $_SESSION['codes'] = array(); $_SESSION['codes'][] = $_GET['code'];
header('Location: index.php'); ?>
updatecodes.php
<?php
if(isset($_SESSION['codes'])) {
$sql = "UPDATE (...) WHERE kod IN(".implode(',',$_SESSION['codes']).")";
// tu wykonujesz zapytanie
unset($_SESSION['codes']); }
header('Location: index.php'); ?>
i tyle

najeżdzasz na pole tekstowe i klikasz skanerem - on dodaje Ci każdy kolejny kod do tabeli a potem może wyświetlić wszystkie albo (tak jak pokazałem) wykonać zapytanie z wybranymi - to tylko idea