Проверьте количество, доступное в корзине, используя цикл while, вложенный в цикл foreach.

Я попробовал метод использования цикла foreach в корзине для корректировки количества товаров на складе, если покупатель превышает количество, доступное в корзине, чтобы уведомить пользователя о том, что товаров нет на складе.

проблема в том, что уведомление застряло в $ item [‘qty’], количество элементов в массиве будет повторять только одно значение, заданное в начале, и в течение цикла не будет повторять ни одно из следующих значений.

в этом ошибочном операторе if вложен в функционирующий цикл while if ($ item [‘qty’]> $ numbers [‘Stock’])

Тем не менее, $ numbers [‘stock’] работает и будет обновляться для каждой итерации в цикле foreach.

Однако $ item [‘qty’] не будет обновляться для каждой итерации в цикле foreach.
Таким образом, для каждого изменяющегося счетчика акций $ item [‘qty’] прикрепляется к первому $ item для каждого $ cartItems.

Любая помощь в решении этого запроса высоко ценится, и на данный момент достаточно продемонстрировать простую линию эха с входным или выходным запасом, никаких проблем для любого встроенного сценария HTML или javascript.

спасибо, а вот и код.

       $itemSpot = $_SESSION['cart'];

print_r($itemSpot);

$whereIn = implode(',', $itemSpot);

$sql = "SELECT * FROM products WHERE id IN ($whereIn)";
$amountQuery = $db->query($sql);

$stocking_error = [];
// print_r($cartItems);

$cartItems = $cart->contents();

foreach($cartItems as $item){

while($numbers = $amountQuery->fetch_assoc()){
echo " Stock available  ". $numbers['Stock'] . "<br>";
echo "this is the quantity of the item " . $item['qty'];
echo $item['name'];
if($item['qty'] > $numbers['Stock']){
$stocking_error = $numbers['Stock'];
echo " <br> Amount ordered exceeds quantity available: " . print_r($stocking_error);

// echo $stocking_error;
}
}

}
if(($stocking_error) != 0) { ?>
<td><a href="checkout.php?id=<?php echo $item["rowid"];?>" class="btn btn-success btn-block">Checkout<i class="glyphicon glyphicon-menu-right"></i></a></td>
<?php  } else {
echo "Stocking error";
} ?>
<?php } ?>
</tr>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]