PHP - 简单地将项目添加到购物车并显示结果

时间:2012-05-10 23:36:11

标签: php mysql html forms cart

我想使用会话来计算添加到购物车的商品数量。下面我有一个提交按钮,它从数据库中提取product_id以及标题和描述:

$query = 'SELECT * FROM products ORDER BY date_added DESC'; 

    // Run the query:
    if($r = mysql_query($query,$dbc)) {
        while ($row = mysql_fetch_array($r)) {   
            // Print out the returned results:
            print "<p><h3>{$row['title']}</h3> {$row['description']}<br />
                <form action='add_to_cart.php' method='get'>
                    <input type='hidden' name='add2cart' value='{$row['product_id']}' />
                    <input type='submit' value='Add to Cart' />
                </form>
           </p><hr />\n";
        }     
    }

如果提交了添加到购物车按钮,如何将以下内容转换为会话以处理我的表单。我创建的这个脚本只是在每次调用或刷新页面时对cookie进行计数,因此它不准确。我想发送唯一的产品ID并使用会话将商品添加到购物车,以便购物车中的商品仅在点击添加到购物车按钮时上升。

<?php
if(!isset($_COOKIE['countItems'])){
    $Items = 0;
    setcookie('countItems', $Items); 
}
else{
    $Items = ++$_COOKIE['countItems'];  
    setcookie("countItems", $Items);
} 
define('TITLE' , 'Items in cart'); 
include('templates/header.html');
?>
<div id="main">
<?php
require_once('config.php');
$dbc = mysql_connect(DB_HOST , DB_USER , DB_PASSWORD);
mysql_select_db(DB_DATABASE, $dbc);


if(isset($_COOKIE['countItems'])){
    print "<p>You have $Items items in your shopping cart </p>";
    print "<p><a href='store.php'>Continue Shopping</a></p>";
}  
else{
    print "You have not added any items into your cart.";
}  

?> 

我只需要输出您看到的内容,它不需要是逐项或任何内容,只需要计算购物车中有多少商品以及有哪些商品。

1 个答案:

答案 0 :(得分:1)

session_start();
if (! isset($_SESSION['countItems']))$_SESSION['countItems'] = 0;
else $_SESSION['countItems']++;
$Items = $_SESSION['countItems'];

然后继续使用define('TITLE','购物车中的商品');