电子商务网站,添加到购物篮错误。 (php帮助)

时间:2013-04-14 22:17:22

标签: php sql database e-commerce

我有php的问题

我正在建立一个电子商务网站(uni的课程) 我正在创建添加到篮子部分。

我可以将产品添加到购物篮中(显示标题,价格,ID和数量)但是,无论我添加到购物篮中的产品,它总是显示标题,价格和价格。数据库中第一个产品的ID。

(例如,我可以向数据库添加2个项目,它们都将具有数据库中第一个项目的标题)

(在下面的篮子里展示产品的代码) 谢谢

if(isset($_SESSION['cart']) && count($_SESSION['cart']) > 0){ 
    foreach($_SESSION['cart'] as $product_id => $qty){

        $sql = "SELECT  post_title, price, post_id FROM products"; 
            $result = mysql_query($sql);

            if(mysql_num_rows($result) > 0) {
            list($name, $price, $id) = mysql_fetch_row($result);

                echo "ID " . $product_id . " " . $name ." " . "Price : " . $price . " DB ID " . $id ." Quantity = " . $qty . "<br/>";
            }
    }

echo "<td colspan=\"3\" align=\"right\"><a href=\"$_SERVER[PHP_SELF]?empty\" onclick=\"return confirm('Are you sure?');\">Empty Cart</a></td>";

}else{

echo "0";
}

1 个答案:

答案 0 :(得分:1)

您需要在查询中添加WHERE子句。

$sql = "SELECT  post_title, price, post_id FROM products WHERE `id` = '$product_id'"; 

目前,您的所有查询都是从数据库表中取出所有内容,然后选择第一行。

WHERE子句将您的查询限制为只占用匹配产品的行,请注意您可能需要更改产品ID列的列名。

虽然是个人推荐,但不是在每个页面加载时从数据库中提取产品,假设没有人会在购物车中添加大量产品,只需将产品信息存储在购物车会话密钥中。 / p>

相关问题