首页 > 解决方案 > 通过 php 从数据库中创建动态创建表的最后一行的边框

问题描述

晚上好,

我正在尝试找到一个函数,我可以在其中与动态创建的表中的最后一个表行相邻。

<?php
session_start( );
echo '<br><br><br><h1 class="HLast">Your last order</h1>';

    if( isset( $_SESSION['oldSession']) === true ){
        $price = 0;
        $resultsetOldOrder = $dbr->query( ' SELECT sn.preis, sn.name from food_order fo, speisen_neu sn 
                                            where fo.SID = "'.$_SESSION['oldSession'].'"
                                            and sn.Artikelnummer = fo.artikelnummer ' );


        if( $resultsetOldOrder == true){
            echo '<table class="LastText">';
            foreach( $resultsetOldOrder as $row ){
                echo '<tr><td>'.$row['name'].'</td><td>'.$row['preis'].'</td></tr>';
                $price = $price + $row['preis'];

            }
            echo '<tr><td>Total</td><td>'.$price.'</td></tr></table>
                <table class="LastButton"><tr><td><form action = "printBill.php" method = "post">
                <input type = "hidden" name = "oldOderID" value ="'.$_SESSION['oldSession'].'">
                <button type = "submit">Print bill</button></form></tr></table>';

        }else{
            echo 'You have no last order';
        }
    }

?>

这是我的代码。它工作正常。在普通表中,我会简单地尝试给最后一个 td 一个类并设置一个边框。但这在这里是不可能的,我在网上也找不到任何东西。

希望你能帮助我,谢谢。

标签: phphtmlcsssqldatabase

解决方案


好吧,虽然使用 css 有更好的方法来做到这一点,但要在不对代码进行太多更改的情况下做到这一点,您可以计算其中的总行数,$resultsetOldOrder然后在循环中检查当前行是否是最后一行。

    if( $resultsetOldOrder == true){
        $last_index = count($resultsetOldOrder) - 1;
        echo '<table class="LastText">';
        foreach( $resultsetOldOrder as $index => $row ){
            if($index == $last_index) {
                //This is the last row, do whatever you want
            }
            echo '<tr><td>'.$row['name'].'</td><td>'.$row['preis'].'</td></tr>';
            $price = $price + $row['preis'];

        }
        echo '<tr><td>Total</td><td>'.$price.'</td></tr></table>
            <table class="LastButton"><tr><td><form action = "printBill.php" method = "post">
            <input type = "hidden" name = "oldOderID" value ="'.$_SESSION['oldSession'].'">
            <button type = "submit">Print bill</button></form></tr></table>';

    }else{
        echo 'You have no last order';
    }

当然,这是假设$resultsetOldOrder数组索引为 0 到 x。如果不是,您可以$i = 0在循环之前设置并检查循环内部 if $i == $last_indexthen do $i++

我希望这有帮助。


推荐阅读