PHP& Mysqli没有加载计算价格... Udemy电子商务课程支持

时间:2018-02-05 13:33:09

标签: php mysql mysqli

我正在关注Udemy的“在PHP和Mysqli学习电子商务网站”课程。

我被困在视频视频31,第4节。

在此视频中,系统会指示您输入以下代码,并使用它来为购物篮中的商品创建总价。

但是,检查并重新检查了代码后,我发现商店中的所有商品都没有被加载,以及顶栏和最终价格的任何信息,如以下2张图片所示。

我将附上以下完整代码。请帮忙!我很困惑!太感谢了! :)

在Macbook Pro 15'2011年末运行Mamp 4.2.1 以Sublime Text编码

fig1. The Video shows the price being calculated

fig 2. My screen. With the total_price() called, the screen does not display the products or information in the top bar correctly.

https://www.udemy.com/ecommerce-website-in-php-mysqli/learn/v4/questions

*该函数确实调用另一个函数getIp()但是这在其他函数中工作正常,$ con变量定义了与mysql的连接。

function total_price(){

    $total = 0;

    global $con;
    $ip = getIp();
    $sel_price = "select * from cart where ip_add='$ip'";
    $run_price = mysqli_query($con,$sel_price);

    while ($p_price = mysqli_fetch_array($run_price)){

        $pro_id = $p_price['p_id'];
        $pro_price = "select * from products where product_id='$pro_id'";
        $run_pro_price = mysqli_query($con,$pro_price);

        while ($pp_price = mysqli_fetch_array($run_pro_price)){

            $product_price = array($pp_price['product_price']);

            $values = array_sum($produce_price);

            $total +=$values;
        }
    }
    echo $total;
}

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码来帮助您

function total_price(){

$total = 0;

global $con;
$ip = getIp();
$sel_price = "select * from cart where ip_add='$ip'";
$run_price = mysqli_query($con,$sel_price);

while ($p_price = mysqli_fetch_array($run_price)){

    $pro_id = $p_price['p_id'];
    $pro_price = "select * from products where product_id='$pro_id'";
    $run_pro_price = mysqli_query($con,$pro_price);

    while ($pp_price = mysqli_fetch_array($run_pro_price)){

        //$product_price = array($pp_price['product_price']);

        //$values = array_sum($produce_price);
        $values = (int)$pp_price['product_price'];

        $total +=$values;
    }
}
echo $total;
}

答案 1 :(得分:0)

以下代码中包含错误:

$values = array_sum($produce_price);

变量“$ produce_price”不存在。正确的方法应该是:

$values = array_sum($product_price);