#php #html #mysql
#php #HTML #mysql
Вопрос:
Я кодирую интернет-магазин (не настоящий). Я могу без проблем добавить в корзину и изменить количество товаров. Однако при добавлении в корзину, если доступно менее пяти товаров, это не дает мне возможности добавить больше, чем доступно. Однако с тем же циклом for при изменении количества товаров в корзине это позволяет мне добавлять до пяти каждого товара, даже если доступно менее пяти. Что мне нужно сделать по-другому.
<form method="post" action="basket.php?action=updateamp;productNumber=<?php echo $value["productNumber"]; ?>">
<input type="hidden" name="hidden_name" value="<?php echo $value["item_name"]; ?>">
<input type="hidden" name="hidden_brief_info" value="<?php echo $value["brief_item_info"]; ?>">
<input type="hidden" name="hidden_price" value="<?php echo $value["product_price"]; ?>">
<?php echo $value["item_quantity"]; ?>
<select class="ml-2 pt-2 pb-2" name="quantity_wanted" class="form-control">
<?php
if ($value["item_quantity"] >= 5) {
for ($i = 1; $i <= $value["item_quantity"] - $value["item_quantity"] 5; $i ) {
?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php
}
} else {
for ($i = 1; $i <= $value["item_quantity"]; $i ) {
?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php
}
}
?>
</select>
<input type="submit" name="update" class="btn btn-primary btn-block mt-4" value="Update">
</form>
Комментарии:
1. Вы серьезно относитесь к таким вещам, как
$i <= $value["item_quantity"] - $value["item_quantity"] 5
? Вы знаете, чтоx - x 5
это просто5
, верно?2. Кроме того, я не совсем понимаю описание вашей проблемы. Похоже, вы бы добавили опции от 1 до 5, если бы все еще было доступно более 5, и только от 1 до скольких доступно, когда это число <5. Итак, в чем именно проблема сейчас? Не работают ли эти циклы / условия и параметры вывода weong или что?
3. проверьте скобки. у вас есть один, если у другого не должно быть более 4 скобок, у вас есть 6
4. Например, если доступно только два товара, внутри корзины покупок это позволяет мне изменять количество до двух. Но за пределами корзины он работает нормально
5. Удалось устранить проблему. В основном на другой странице, где я создал массивы для добавления в корзину и обновления корзины. Мне пришлось объявить дополнительную переменную, чтобы база данных могла получить общее количество товаров и цикл for мог выполняться должным образом. Но да, было странно, как один и тот же цикл for отлично работал при добавлении товара в корзину, но теперь я знаю.