1

所以,這是相當長的,很抱歉在事先並希望你會盡力幫助我反正車+檢出問題

這裏有雲:

我做了一個自定義的購物車,並我要去集成結賬(klarna), 我的問題是,我嘗試使用JSON發送物品結賬:

$sendInfo = base64_encode(json_encode($_SESSION['cart_array'])); 
echo '<input type="hidden" name="info" id="info" value="'.$sendInfo.'"/>'; 


And to pick it up i use another one: 
$info = (array) json_decode(base64_decode($_POST['info'])); var_dump($info); 

其中給出:

array (size=2) 
0 => 
object(stdClass)[1] 
    public 'item_id' => string '7' (length=1) 
    public 'quantity' => int 1 
1 => 
object(stdClass)[2] 
    public 'item_id' => string '3' (length=1) 
    public 'quantity' => int 1 

So to build it further and to get the products out from the database: 

$cartOutput =""; 
$cartTotal =""; 
$cartTOTAL =""; 
$shipping =""; 
$include =""; 


if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) { 
    $cartOutput = "<h2 align='center'>Din kundvagn är tom</h2>"; 
    } else { 

//Starta for each loop 
$i = 0; 
    foreach ($_SESSION["cart_array"] as $each_item) { 
    $item_id = $each_item['item_id']; 
    $sql = mysql_query("SELECT * FROM tblproducts WHERE idProducts='$item_id' LIMIT 1"); 
    while($row = mysql_fetch_array($sql)){ 
     $product_name = $row["strName"]; 
     $price = $row["dbPrice"]; 
     $details = $row["strDescription"]; 
     $artnummer = $row["strArtnummer"]; 

    } 

以及與此被放置在陣列中的集成:

$cart = array(
    array(
    'reference' => $artnummer, 
    'name' => $product_name, 
    'quantity' => $each_item['quantity'], 
    'unit_price' => $price, 
    'discount_rate' => 0, 
    'tax_rate' => $tax, 
    ), 
    array(
    'type' => 'shipping_fee', 
    'reference' => $artnummer, 
    'name' => 'Shipping Fee', 
    'quantity' => 1, 
    'unit_price' => $shipping, 
    'tax_rate' => $tax, 
) 
    ); 

foreach($cart as $fieldarray){ 
    $body .= $fieldarray['reference'].' - '. $fieldarray['name'].' - '. $fieldarray['quantity'].' - '. $fieldarray['unit_price']; 
} 

我得到的數組:

//$cart var_dump 
array (size=2) 
0 => 
array (size=6) 
    'reference' => string '40719013' (length=8) 
    'name' => string 'Socka 2 par/fp WS Cotton' (length=24) 
    'quantity' => int 1 
    'unit_price' => int 4800 
    'discount_rate' => int 0 
    'tax_rate' => int 2500 
1 => 
array (size=6) 
    'type' => string 'shipping_fee' (length=12) 
    'reference' => string '40719013' (length=8) 
    'name' => string 'Shipping Fee' (length=12) 
    'quantity' => int 1 
    'unit_price' => int 14500 
    'tax_rate' => int 2500 

// $body var_dump 
    string '40719013 - Socka 2 par/fp WS Cotton - 1 - 480040719013 - Shipping Fee - 1 - 14500' (length=81) 

到目前爲止,它的工作好,看到沒有問題,如果我在添加量購物車,然後走到結帳處,它也可以工作,但正如有些人從第一個var_dump注意到的,我在購物車中有兩件物品(2種不同的items_id)! 因此,它只顯示從購物車中的1項(最後一個添加),所以總和是錯誤的,所有的項目都沒有列在結帳..

所以任何人都知道我在做什麼錯?

預先感謝。

回答

1

您設置$車陣您覆蓋任何以前的條目每次:

$cart = array(...) 

你可能要添加的每個條目添加到購物車陣

$cart[] = array(...) 
+0

我已經試過你的小費,但我似乎並沒有得到它的工作,我最終得到了一個空字符串,當我嘗試將它們全部添加到一個數組中時,我只收到註冊的運輸部件,我開始懷疑它是否有問題這是klarna給我的測試模塊,它看起來像我不能出於某種原因顯示多個產品。或者是我? – 2013-03-18 07:25:56