PHP ile büyük boyutunu bularak nakliye maliyetini nasıl eklenir?

2 Cevap php

Şu anda ben kargo ücreti 65Kr ekleyin.

Dükkanda sadece dört fiyatları vardır.

Ben şu şekilde kargo ücreti değiştirmek gerekir.

198Kr ve 268Kr mal Ürün 25Kr ihtiyacı ve o fiyata (418 ve 498Kr) daha 65Kr ihtiyacı var.

Bir müşteri 198Kr ve 418kr satın alırsa, o zaman o 65Kr ödemek gerekiyor. Bu 65Kr gereken bir madde varsa, o zaman nakliye 65Kr olacak demektir.

Bir müşteri 198Kr ve 268Kr satın alırsa, o zaman o 25Kr ödemek gerekiyor.

Ben toplam maliyeti bu nakliye eklemek için nasıl emin değilim.

Ben toplam fiyat güncellemek için aşağıdaki kodu kullanabilirsiniz.

Ve ben kasada 65Kr ekleyin.

function updateCart($productid,$fullproduct){
    $cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : array();

$productid = id_clean($productid);
$totalprice = 0;
if (count($fullproduct)){
    if (isset($cart[$productid])){
        $prevct = $cart[$productid]['count'];
        $prevname = $cart[$productid]['name'];
        $prevprice = $cart[$productid]['price'];
        $cart[$productid] = array(
                'name' => $prevname,
                'price' => $prevprice,
                'count' => $prevct + 1
                );
    }else{
        $cart[$productid] = array(
                'name' => $fullproduct['name'],

'price' => $fullproduct['price'],
'count' => 1
                );          
    }

foreach ($cart as $id => $product){
    $totalprice += $product['price'] * $product['count'];
    }       

    $_SESSION['totalprice'] = $totalprice;
    $_SESSION['cart'] = $cart;
    $msg = $this->lang->line('orders_added_cart');
    $this->session->set_flashdata('conf_msg', $msg); 
}
}

kasada

...
$shipping= 65;
$grandtotal = (int)$totalprice + $shipping;
...

Gördüğünüz gibi ben boyutu veya fiyat takip etmek için oturumu kullanabilirsiniz. Yani ben son nakliye fiyatını bulmak için bunları kullanabilirsiniz düşünüyorum.

Ben herhangi bir yardım ellerini takdir edecektir.

Şimdiden teşekkürler.

2 Cevap

toplam fiyatı hesaplar sepetinize tekrarında

foreach ($cart as $id => $product){
   $totalprice += $product['price'] * $product['count'];
} 

Ayrıca nakliye fiyatını hesaplamak ve çok oturumda yerleştirin.

$shippingprice = 25.0;
foreach ($cart as $id => $product){
   $totalprice += $product['price'] * $product['count'];
   if ( $product['price'] > 268 ){
       $shippingprice = 65.0;
   }
} 

Ben gibi bir şey kullanmak istiyorum:

function updateCart($productid,$fullproduct)
{ 
  $cart       = isset($_SESSION['cart']) ? $_SESSION['cart'] : array(); 
  $productid  = id_clean($productid); 
  $totalprice = 0;
  if (count($fullproduct))
  { 
    if (isset($cart[$productid]))
    { 
      $prevct = $cart[$productid]['count']; 
      $prevname = $cart[$productid]['name']; 
      $prevprice = $cart[$productid]['price']; 
      $cart[$productid] = array( 
            'name' => $prevname, 
            'price' => $prevprice, 
            'count' => $prevct + 1 
            ); 
    }
    else
    { 
      $cart[$productid] = array( 
            'name' => $fullproduct['name'], 
            'price' => $fullproduct['price'], 
            'shipping' => $fullproduct['shipping']
            'count' => 1 
            );           
    } 

    $shipping = 0;
    foreach ($cart as $id => $product)
    { 
      $shipping = $shipping < $product['shipping'] ? $product['shipping'] : $shipping;
      $totalprice += $product['price'] * $product['count']; 
    }        

    $_SESSION['totalprice'] = $totalprice; 
    $_SESSION['cart']       = $cart; 
    $_SESSION['shipping']   = $shipping;

    $msg = $this->lang->line('orders_added_cart'); 
    $this->session->set_flashdata('conf_msg', $msg);  
  } 
} 

Bu şekilde herhangi bir nakliye fiyat olabilir ve sadece daha yüksek bir ücret olacak.

Ancak bu şekilde sadece hesaba bir öğe için nakliye fiyatını alır. Ben dikkate numarasını veya öğeleri de alırdım. Çünkü İstanbul'da yüz nakliye zaman bir ürün gönderirken değişim nakliye ve maliyet.