2012-09-28 44 views
1

即時通訊編寫銷售軟件,將通過一組頁面,並在某些頁面上列出的項目出售,當你點擊購買它基本上只是傳遞一個隱藏的變量到下一頁被設置爲一個會話變量,然後當你到達最後它的調用被報告給一個數據庫。然而,我的僱主希望我包括一個購物車,並且這個購物車應該顯示項目名稱,SKU以及您購買的任何價格,以及一個刪除按鈕,這樣腳本生成者就不需要返回整個事情去除一個項目。目前我有購物車設置顯示所有內容,這很簡單。但我不知道如何讓刪除按鈕的工作。這裏是購物車的代碼:非常簡單的購物車,刪除按鈕

 $total = 0; 
    //TEST CODE: 
    $_SESSION['itemname-addon'] = "Test addon"; 
    $_SESSION ['price-addon'] = 10.00; 
    $_SESSION ['sku-addon'] = "1234h"; 

    $_SESSION['itemname-addon1'] = "Test addon1"; 
    $_SESSION ['price-addon1'] = 99.90; 
    $_SESSION ['sku-addon1'] = "1111"; 

    $_SESSION['itemname-addon2'] = "Test addon2"; 
    $_SESSION ['price-addon2'] = 19.10; 
    $_SESSION ['sku-addon2'] = "123"; 
    //end test code 


    $items = Array 
    (
      "0"=> Array 
      (
       "name" => $_SESSION['itemname-mo'], 
       "price" => $_SESSION ['price-mo'], 
       "sku" => $_SESSION ['sku-mo'] 
      ), 
      "1" => Array 
      (
       "name" => $_SESSION['itemname-addon'], 
       "price" => $_SESSION ['price-addon'], 
       "sku" => $_SESSION ['sku-addon'] 
      ), 
      "2" => Array 
      (
       "name" => $_SESSION['itemname-addon1'], 
       "price" => $_SESSION ['price-addon1'], 
       "sku" => $_SESSION ['sku-addon1'] 
      ), 
      "3" => Array 
      (
       "name" => $_SESSION['itemname-addon2'], 
       "price" => $_SESSION ['price-addon2'], 
       "sku" => $_SESSION ['sku-addon2'] 
      ) 

     ); 

    $a_length = count($items); 

    for($x = 0; $x<$a_length; $x++){ 
    $total +=$items[$x]['price']; 
    } 
    $formattedtotal = number_format($total,2,'.',''); 
    for($i = 0; $i < $a_length; $i++){ 
    $name = $items[$i]['name']; 
    $price = $items[$i]['price']; 
    $sku = $items[$i]['sku']; 
    displaycart($name,$price,$sku); 
    } 
    echo "<br /> 
    <b>Sub Total:</b> 
    $$formattedtotal"; 

     function displaycart($name,$price,$sku){ 

      if($name != null || $price != null || $sku != null){ 

      if ($name == "no sale" || $price == "no sale" || $sku == "no sale"){ 
      echo ""; 
      } 
      else{ 
       $formattedprice = number_format($price,2,'.',''); 
       echo "$name: $$formattedprice ($sku)"; 
       echo "<form action=\"\" method=\"post\">"; 
       echo "<button type=\"submit\" />Remove</button><br />"; 
       echo "</form>"; 
      } 

      } 
     } 

所以在這一點我不知道去哪裏從刪除按鈕。任何建議,將不勝感激。

回答

2

您可以使用會話變量數組,所以你可以在你的格式更改爲

$_SESSION[items][] = ("name"=>$name, "sku"=>$sku, "price"->$price) 

function displaycart()添加的元素

echo "<input type='hidden' name='delete_sku' value='$sku'>\n"; 

然後當你刪除您只需:

$delete_sku = $_POST[delete_sku]; // the posted ID sent from delete form 
$i = 0; 
foreach ($_SESSION[items] as $item) { 
    if ($item['sku'] == $delete_sku) { 
     unset ($_SESSION[$i]); // remove the item from the session array 
    } 
    $i++; 
} 
print_r ($_SESSION); 
相關問題