Создание границы в последней строке таблицы динамически созданной таблицы с помощью php вне базы данных - PullRequest
0 голосов
/ 27 сентября 2018

Добрый вечер,

Я пытаюсь найти функцию, где я могу граничить с последней строкой таблицы из динамически создаваемой таблицы.

<?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 голосов
/ 06 декабря 2018

С помощью CSS вы можете выбрать последний элемент типа.Взгляните на это .Так что в вашем случае вы бы сделали

tr:last-of-type {
    //your styles here
}
0 голосов
/ 27 сентября 2018

Ну, хотя есть лучший способ сделать это с помощью 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++.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...