如何在(php)中显示SQL查询结果的最后一行<;tfoot>;并排除在<;t车身>;?

如何在(php)中显示SQL查询结果的最后一行<;tfoot>;并排除在<;t车身>;?,php,Php,我的数据库同事为我构建了几个视图和SP,这样我就可以专注于html/php了 一个是在表的底部显示“总计”行的查询 我想: 排除我的 在我的 既然总计行始终显示在底部,为什么不在中显示所有内容?因为出于演示目的,我希望我的的colspan不同 我如何单独使用php实现这一点 我正在使用基本PDO: foreach($table as $row) { echo '<tr> <td>'.$row['Item'].'</td>

我的数据库同事为我构建了几个视图和SP,这样我就可以专注于html/php了

一个是在表的底部显示“总计”行的查询

我想:

  • 排除我的
  • 在我的
  • 既然总计行始终显示在底部,为什么不在
    中显示所有内容?因为出于演示目的,我希望我的
    colspan
    不同

    我如何单独使用php实现这一点

    我正在使用基本PDO:

    foreach($table as $row) {
        echo '<tr>
                <td>'.$row['Item'].'</td> 
                <td>'.$row['Amount'].'</td>
              </tr>';
    }
    
    foreach($table作为$row){
    回声'
    “.$row['Item']”
    “.$row[“金额”]”
    ';
    }
    
    $total=0;
    foreach($行的表格){
    $total+=$row['Amount'];
    回声'
    “.$row['Item']”
    “.$row[“金额”]”
    ';
    }
    回声'
    总数:
    “.$total。”
    ';
    

    如果您不打算使用thead或tfoot来设置内容的样式,或者在某些情况下出于SEO目的,则不需要使用它们。

    只要最后一行与任何其他行不完全相同,就应该使用它们

    $last_row = end($table);
    
    echo '<tbody>';
    foreach ($table as $row) {
        if ($row === $last_row) continue;
        echo '<tr>
            <td>'.$row['Item'].'</td> 
            <td>'.$row['Amount'].'</td>
        </tr>';
    }
    echo '</tbody>';
    
    echo '<tfoot>
        <tr>
            <td>'.$last_row['Item'].'</td> 
            <td>'.$last_row['Amount'].'</td>
        </tr>
    </tfoot>';
    
    $last_row=end($table);
    回声';
    foreach($行的表格){
    如果($row===$last_row)继续;
    回声'
    “.$row['Item']”
    “.$row[“金额”]”
    ';
    }
    回声';
    回声'
    “.$last_行['Item']”
    “.$最后一行[“金额]。”
    ';
    
    如果最后一行可能不是唯一的,则可以使用该键:

    $last_key = count($table) - 1;
    
    echo '<tbody>';
    foreach ($table as $key => $row) {
        if ($key === $last_key) continue;
        echo '<tr>
            <td>'.$row['Item'].'</td> 
            <td>'.$row['Amount'].'</td>
        </tr>';
    }
    echo '</tbody>';
    
    echo '<tfoot>
        <tr>
            <td>'.$table[$last_key]['Item'].'</td> 
            <td>'.$table[$last_key]['Amount'].'</td>
        </tr>
    </tfoot>';
    
    $last_key=count($table)-1;
    回声';
    foreach($key=>$row形式的表){
    如果($key===$last_key)继续;
    回声'
    “.$row['Item']”
    “.$row[“金额”]”
    ';
    }
    回声';
    回声'
    '.$table[$last_key]['Item'.'
    “.$table[$last_key]['Amount']”
    ';
    
    我不同意
    tfoot
    非常适合这样做。如果按自己的方式进行,则无法使用JS对表进行排序。并不是因为今天他不想设计他的内容,明天他就不会了。我不知道-1,但这是一个错误的建议IMHO。您可以找到num_rows()调用返回的行数。跟踪输出的行数,一旦到了最后一行,就输出一个。请注意返回的行的顺序——您需要进行排序(按顺序)或其他操作,以确保真正获得作为最后一行的总计行。仅供参考,
    tfoot
    应在
    tbody
    之前打印。tfoot必须在表定义中显示在tbody之前,以便用户代理可以在接收所有数据之前呈现foot(可能有许多)行数据。”
    $last_key = count($table) - 1;
    
    echo '<tbody>';
    foreach ($table as $key => $row) {
        if ($key === $last_key) continue;
        echo '<tr>
            <td>'.$row['Item'].'</td> 
            <td>'.$row['Amount'].'</td>
        </tr>';
    }
    echo '</tbody>';
    
    echo '<tfoot>
        <tr>
            <td>'.$table[$last_key]['Item'].'</td> 
            <td>'.$table[$last_key]['Amount'].'</td>
        </tr>
    </tfoot>';