如果在数据库结果不起作用时在内部

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

我有一个简单的售票登记系统,有6种票和3个不同的“实体”售票地点。每个订单作为一行插入到数据库中,并存储每种类型的票的金额以及销售地点、总成本和日期时间戳。
我想显示每种票类型的总金额,即在给定的时间框架内售出的总金额以及这些票的总成本。我还想根据销售地点过滤结果。
这是我的数据库查询:

"SELECT SUM(ticketType1), SUM(ticketType2), SUM(ticketType3), 
        SUM(ticketType4), SUM(ticketType5), SUM(ticketType6), 
        SUM(cost), saleLocation 
 FROM `orders` 
 WHERE time BETWEEN '2018-07-10 07:00:01' 
            AND '2018-07-11 07:00:00'"

然后在html表格行中显示:

<?php 
while ($row = $result->fetch_assoc()) {
    if($row["saleLocation"] == 'location1') { ?>
        <div class="cell">
            <?php echo $row["SUM(ticketType1)"] ?>
        </div>

        <div class="cell">
            <?php echo $row["SUM(ticketType2)"] ?>
        </div>

        <div class="cell">
            <?php echo $row["SUM(ticketType3)"] ?>
        </div>

        <div class="cell">
            <?php echo $row["SUM(ticketType4)"] ?>
        </div>

        <div class="cell">
            <?php echo $row["SUM(ticketType5)"] ?>
        </div>   

        <div class="cell">
            <?php echo $row["SUM(ticketType6)"] ?>
        </div>

        <div class="cell">
            <?php echo number_format($row["SUM(cost)"], 0, "", "."); ?>
        </div>

    <?php } //end if

 } // end while
?>

它可以工作,但我尝试在while循环中使用if语句根据位置过滤结果,但是if语句似乎没有任何效果,而是显示所有3个位置的结果。我知道我可以很容易地修改查询来实现这一点,但我不希望在这种特定情况下这样做。
不过,我猜问题还是出在查询中?
我们将非常感谢您的帮助。

暂无答案!

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

相关问题