вы выполняете foreach в массиве значений и передаете один и тот же ip, так что where говорит навсегда изменить один и тот же элемент.
Остальная часть кода, которую я вижу, ошибочнаи я помогаю исправить это.
Но вам придется сделать что-то подобное.
$product_qttys = Array ( ["127.0.0.1"] => 1 ["127.0.0.1"] => 4 ["127.0.0.1"] => 2 ["127.0.0.1"] => 3 ["127.0.0.1"] => 6);
foreach ($product_qttys as $key => $pr_qtys){
$qttys = mysqli_real_escape_string($con, $pr_qtys);
$sql = "UPDATE table-a SET qty = '$qttys' WHERE ip_add = '$key'";
$result = mysqli_query($con,$sql);
}
echo "<br/>check SQL table<br/>";
$sqla = "SELECT * FROM table-a WHERE ip_add='$key'";
$querya = mysqli_query($con,$sqla);
if (mysqli_num_rows($querya) > 0){
while ($producta = mysqli_fetch_assoc($querya)){
echo ("item_qty=" . ($item_qty = $producta ['qty']) . "<br/>");
}
}
, чтобы также улучшить логику