Php 非常简单的购物车,删除按钮
我正在编写销售软件,它将遍历一组页面,在某些页面上列出要销售的项目,当您单击“购买”时,它基本上只是将一个隐藏变量传递到下一个页面以设置为会话变量,然后当您到达末尾时,它的调用将报告给数据库。然而,我的雇主希望我包括一个购物车,这个购物车应该显示物品名称、sku和你正在购买的任何物品的价格,以及一个删除按钮,这样做脚本的人就不需要返回整个过程来删除一个物品。目前,我已将购物车设置为显示所有内容,这相当简单。但我不知道如何让删除按钮工作。以下是购物车的代码:Php 非常简单的购物车,删除按钮,php,html,mysql,cart,shopping,Php,Html,Mysql,Cart,Shopping,我正在编写销售软件,它将遍历一组页面,在某些页面上列出要销售的项目,当您单击“购买”时,它基本上只是将一个隐藏变量传递到下一个页面以设置为会话变量,然后当您到达末尾时,它的调用将报告给数据库。然而,我的雇主希望我包括一个购物车,这个购物车应该显示物品名称、sku和你正在购买的任何物品的价格,以及一个删除按钮,这样做脚本的人就不需要返回整个过程来删除一个物品。目前,我已将购物车设置为显示所有内容,这相当简单。但我不知道如何让删除按钮工作。以下是购物车的代码: $total = 0;
$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>";
}
}
}
$total=0;
//测试代码:
$\会话['itemname-addon']=“测试加载项”;
$\会话['price-addon']=10.00;
$\会话['sku-addon']=“1234h”;
$\会话['itemname-addon1']=“测试addon1”;
$\会话['price-addon1']=99.90;
$\会话['sku-addon1']=“1111”;
$\会话['itemname-addon2']=“测试addon2”;
$\会话['price-addon2']=19.10;
$\会话['sku-addon2']=“123”;
//结束测试代码
$items=数组
(
“0”=>数组
(
“name”=>$\u会话['itemname-mo'],
“价格”=>$\u会话['price-mo'],
“sku”=>$\u会话['sku-mo']
),
“1”=>数组
(
“name”=>$\u会话['itemname-addon'],
“price”=>$\u会话['price-addon'],
“sku”=>$\u会话['sku-addon']
),
“2”=>数组
(
“name”=>$\u会话['itemname-addon1'],
“price”=>$\u会话['price-addon1'],
“sku”=>$\u会话['sku-addon1']
),
“3”=>数组
(
“name”=>$\u会话['itemname-addon2'],
“price”=>$\u会话['price-addon2'],
“sku”=>$\u会话['sku-addon2']
)
);
$a_长度=计数($items);
对于($x=0;$x),您可以在会话变量上使用数组,以便将格式更改为
$_SESSION[items][] = ("name"=>$name, "sku"=>$sku, "price"->$price)
在函数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);