(php)'if'语句只回显一侧,它会根据产品添加到购物车的类型更改为'else'并更改回'if'

li9yvcax  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(209)

首先,我要告诉您我对代码的期望结果:我希望echo来筛选销售价格(如果产品在数据库表中的sale中)和常规价格(如果产品不在数据库表中的sale中)。
我试图创建一个if语句,我将在下面概述它。
首先:我为product表建立一个变量,以便以后在 if 声明。

$sql = "SELECT * FROM products WHERE id = ''";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);

为了说明这一点,我从提交的表单数据创建了一个数组:

$_SESSION['shoppingcart'][0] = array (

        'id' => filter_input(INPUT_GET, 'ID'),
        'price' => filter_input(INPUT_POST, 'hidden_price'),
        'list_price' => filter_input(INPUT_POST, 'hidden_list_price'),
        'quantity' => filter_input(INPUT_POST, 'quantity'),

         );

然后,我创建另一个数组,挑出 id 中的列 $_SESSION['shoppingcart'] 数组。

$product_ids = array();
$product_ids = array_column($_SESSION['shoppingcart'], 'id');

所以,现在我想通过 $productids 带有 foreach 循环。

foreach ($_SESSION['shoppingcart'] as $key => $cartprod): ?>

现在轮到你了 if 我一直在挣扎的声明:
(只是补充一下, $row['sale] 是一个列,我有要么'是'-为销售-或'否'-为不在销售。)

<?php if ($row['sale'] == "yes"){
          echo '<td>£'.$cartprod['list_price'].'</td>';
              }else{
                  echo '<td>£'.$cartprod['price'].'</td>';
       }?>

    <?php endforeach;?>
        <?php endif;?>

所以如果我把一个产品添加到 array 这是在销售,它的作品很好,我可以添加他们,它会 echo 出去 $cartprod['list_price'] 一整天,反之亦然-我可以将不在销售范围内的产品添加到阵列中,它将 echo 出去 $cartprod['list_price'] .
当我试着把产品添加到 array 与不在销售中的产品一起在销售中。不管是这样还是那样,我不能在市场上有各种各样的出售和不出售的产品 array .
有人能告诉我我做错了什么吗?如果你读到这里,谢谢你:)。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题