亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更新購物車中一種產品的數量會重置其他產品先前更新的數量

更新購物車中一種產品的數量會重置其他產品先前更新的數量

PHP
慕森王 2023-04-15 10:10:20
我設法使用下拉數量菜單更改我的購物車中一種產品的數量,但是this.form.submit()如果我在購物車中有兩種具有更新數量的產品并且我決定再次更新其中一種,另一種產品的數量將被覆蓋并且恢復到其之前的原始值(更新前),該值是使用列出所有產品的頁面上的“添加到購物車”發送的。當我更新一個產品的數量時,如何保留其他產品已經更新的數量?<?php// Add products to basket:if (!isset($_SESSION['basket'])) {  $_SESSION['basket'] = array();}if (isset($_POST['id'])) {  $_SESSION['basket'][$_POST['id']] = array(    'product_id'=>$_POST['id'],    'product_photo'=>$_POST['hidden_photo'],    'product_photo_alt'=>$_POST['hidden_photo_alt'],    'product_name'=>$_POST['hidden_name'],    'product_price'=>$_POST['hidden_price'],    'product_quantity'=>$_POST['quantity'],  );}?><?php//  if(!empty($_SESSION['basket'])) {   $total = 0;   foreach ($_SESSION['basket'] as $key => $value) {// Below is the code which updates the quantity of a product with a particular id// But after submitting the form resetes the quantity of other products // With already updated quantity      if (!empty($_POST['new_qty'][$value['product_id']])) {       $quantity = $_POST['new_qty'][$value['product_id']];     } else {       $quantity = $value['product_quantity'];     }?><form method="post" action=""><select class="quantity-basket" name="new_qty[<?php echo $value['product_id']; ?>]" onchange="this.form.submit()"><?php// Quantity added to the basket:                        if ($quantity) {?><option value="<?php echo $quantity; ?>" hidden><?php echo $quantity; ?></option><?php}?><?php// Drop-down quantity menufor ($i = 0; $i <=50; $i++) {?><option value="<?php echo ($i == 0) ? $i . ' (Remove)' : $i; ?>"><?php echo ($i == 0) ? $i . ' (Remove)' : $i; ?></option><?php}?></select><!-- End of quantity drop-down menu --></form>
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

<?php


if (!isset($_SESSION['basket'])) {

? $_SESSION['basket'] = array();

}


if (isset($_POST['id'])) {

? $_SESSION['basket'][$_POST['id']] = array(

? ? 'product_id'=>$_POST['id'],

? ? 'product_photo'=>$_POST['hidden_photo'],

? ? 'product_photo_alt'=>$_POST['hidden_photo_alt'],

? ? 'product_name'=>$_POST['hidden_name'],

? ? 'product_price'=>$_POST['hidden_price'],

? ? 'product_quantity'=>$_POST['quantity'],

? );

}


// Update quantity

if (isset($_POST['action']) && $_POST['action'] == 'update') {

? foreach($_SESSION['basket'] as &$value) {

? ? if($value['product_id'] === $_POST['type']) {

? ? ? ? $value['product_quantity'] = $_POST['new_qty'];

? ? ? ? break; // Stop the loop after we've found the product

? ? }

? }

}

?>


<?php

//?

?if(!empty($_SESSION['basket'])) {

? ?$total = 0;

? ?foreach ($_SESSION['basket'] as $product) {

?>


<form method="post" action="">

<input type="hidden" name="type" value='<?php echo $product["product_id"]; ?>'>

<input type="hidden" name="action" value="update">

<select class="quantity-basket" name="new_qty" onchange="this.form.submit()">

<option value="<?php echo $product['product_quantity']; ?>" hidden><?php echo $product['product_quantity']; ?></option>


<?php

// Drop-down quantity menu

for ($i = 0; $i <=50; $i++) {

?>


<option value="<?php echo ($i == 0) ? $i . ' (Remove)' : $i; ?>">


<?php echo ($i == 0) ? $i . ' (Remove)' : $i; ?>


</option>


<?php

}

?>


</select>

</form>


查看完整回答
反對 回復 2023-04-15
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號