首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在php中访问if循环中的变量

为什么我不能在php中访问if循环中的变量
EN

Stack Overflow用户
提问于 2022-01-20 00:00:01
回答 1查看 71关注 0票数 0

我正在做一个简单的购物车,最后的价格,也就是$fp变量。总有:Notice: Undefined variable: fp in C:\xampp\htdocs... --事情是一切正常的,从数据库中获取的数据是在现场获取的,价格包括在内--但是当我想显示$fp(最终价格)时,它显示了错误。在if($row['ID'] == $id)循环之后,我尝试在else语句中将其设置为0,但没有发生任何事情,我试图将其设置为全局的,例如:

代码语言:javascript
复制
global $fp; 
$fp = $fp + intval($row['price']);

当我这么做的时候,错误消失了,但它什么也没做(空白处)。也许我只是坐得太久了,看着它,但我只是无法思考为什么我不能访问变量或正在发生的事情。

代码语言:javascript
复制
<section class="cart">
                <?php
                if(isset($_SESSION['cart'])){
                    $product_id = array_column($_SESSION['cart'],'product_id');
                    $sql = "SELECT * FROM muzi;";
                    $result = mysqli_query($conn, $sql);
                    while($row = mysqli_fetch_assoc($result)){
                        foreach($product_id as $id){
                            if($row['ID'] == $id){          
                echoItem($row['fotografia'],$row['price'],$row['znacka'],$row['konkretne'],$size);
                                $fp = $fp + intval($row['price']);
                            }
                        }
                    }
                }else{
                    echo "<h5>Cart is empty</h5>";
                }
               ?>
   <h2 class="h2-cart-item">PRICE: <?php $fp;?> €</h2>
</section>
代码语言:javascript
复制
function echoItem($productIMG, $productPrice, $znacka, $typ_oblecenia){
    $product = "
    <article class='clearfix'>
        <img src='../img/$productIMG' alt='hihi' style='width: 10%;'>
        <div class='info-text-cart'>
            <p>specific type: $typ_oblecenia</p>
            <p>Brand: $znacka</p>
            <button><i class='fas fa-times'></i></button>
        </div>
        <div class='important-info-cart'>
            <p>Price: $productPrice €</p>
            <p>quantity: 1</p>
        </div>
    </article>
    ";
    echo $product;
}

ps:我在打字方面什么都有。我只是把一些相关的东西翻译成英文,这样就更有意义了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-20 02:04:55

$fp从未像前面提到过的那样被声明过。

如果您声明它为全局(或不全局),您应该能够在第二个代码块上使用它,当您尝试时没有看到任何东西是因为您忘记了echo it。

一个有用的例子是:

代码语言:javascript
复制
<section class="cart">
                <?php
                $fp = 0;
                if(isset($_SESSION['cart'])){
                    $product_id = array_column($_SESSION['cart'],'product_id');
                    $sql = "SELECT * FROM muzi;";
                    $result = mysqli_query($conn, $sql);
                    while($row = mysqli_fetch_assoc($result)){
                        foreach($product_id as $id){
                            if($row['ID'] == $id){          
                echoItem($row['fotografia'],$row['price'],$row['znacka'],$row['konkretne'],$size);
                                $fp = $fp + intval($row['price']);
                            }
                        }
                    }
                }else{
                    echo "<h5>Cart is empty</h5>";
                }
               ?>
   <h2 class="h2-cart-item">PRICE: <?php echo $fp;?> €</h2>
</section>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70779263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档