通过php在数据库之外的动态创建表的最后一个表行上创建边框

时间:2018-09-27 18:23:51

标签: php html css sql database

晚上好

我试图找到一个函数,在这里我可以将动态创建的表的最后一个表行作为边框。

<?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一个类,并在其周围设置边框。但这在这里是不可能的,我也无法在网络上找到任何东西。

希望您能帮助我,谢谢。

2 个答案:

答案 0 :(得分:1)

嗯,虽然有一种更好的方法使用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,然后在循环内部检查$i == $last_index,然后执行$i++

我希望这会有所帮助。

答案 1 :(得分:0)

使用CSS,您可以选择类型的最后一个元素。
看看this
因此,就您而言,

tr:last-of-type {
    //your styles here
}