【问题标题】:Last table row at the end of the page页面末尾的最后一个表格行
【发布时间】:2018-05-01 00:44:35
【问题描述】:

我希望我的桌子看起来像这样:

我的桌子如下图所示:

那么,该怎么做呢?

我的表格是如何生成的:

<table id="chiru_inv" class="table table-striped table-hover table-bordered table-responsive">
   <tr>
    <td colspan="4" align="center">
      <h1>Company</br><span style="font-size: 75%;">Number</span></h1>
    </td>
  <tr>
    <td colspan="2">
      <h3><span style="float: left;">Bill No.: 4</span></h3>
    </td>
    <td colspan="2">
      <h3><span style="float: right;">Date: </span></h3>
    </td>
  </tr>
  </tr>
  <tr>
    <td colspan="4">
      <h3>Customer: </h3>
    </td>
  </tr>
  <tr>
    <th>Sr.</th>
    <th>Item</th>
    <th>Qty</th>
    <th>Amount</th>
  </tr>
    <?php
    $i = 0;
    $total = 0;
        while($rowc)
        {
            extract($rowc);
            $i++;

?>

    <tr>
      <td style="border-top:none !important; border-bottom:none !important;">
      <?php echo $i; ?>
      </td>
      <td style="border-top:none !important; border-bottom:none !important;">
      <?php
      $itm = $IRN;
      $stmti = $user_home->runQuery('SELECT * FROM item WHERE IRN = :iinv ');
    $stmti->bindParam(':iinv',$itm);
    $stmti->execute();
    $rowci = $stmti->fetch(PDO::FETCH_ASSOC); 
      echo $rowci['Name']; 
      $srv = $SRN;
      $stmts = $user_home->runQuery('SELECT * FROM service WHERE SRN = :sinv ');
    $stmts->bindParam(':sinv',$srv);
    $stmts->execute();
    $rowcs = $stmts->fetch(PDO::FETCH_ASSOC); 
      ?>
      &nbsp;(<?php echo $rowcs['Name']; ?>)
      </td>
      <td style="border-top:none !important; border-bottom:none !important;">
      <?php echo $Quantity; ?>
      </td>
      <td style="border-top:none !important; border-bottom:none !important;">
      <?php echo $Amnt; ?>
      </td>
    </tr>

            <?php
            $total = $total + $Amnt;
        $rowc=$stmt->fetch(PDO::FETCH_ASSOC);
        }
        ?>

    <tr>
      <td colspan="2"><strong><?php echo getIndianCurrency($total); ?>Only</strong></td>
      <td><strong>Total:</strong></td>
      <td><strong><?php echo $total; ?></strong></td>
    </tr>

</table>

表格只能有1行,或2,也可以有4 行 还有!

对于所有行,table应始终为like this。

表格的行根据数据库中的记录而变化。

【问题讨论】:

标签: php css twitter-bootstrap printing html-table


【解决方案1】:
    <table id="chiru_inv" class="table table-striped table-hover table-bordered table-responsive">
       <tr>
        <td colspan="4" align="center">
          <h1>Company</br><span style="font-size: 75%;">Number</span></h1>
        </td>
      <tr>
        <td colspan="2">
          <h3><span style="float: left;">Bill No.: 4</span></h3>
        </td>
        <td colspan="2">
          <h3><span style="float: right;">Date: </span></h3>
        </td>
      </tr>
      </tr>
      <tr>
        <td colspan="4">
          <h3>Customer: </h3>
        </td>
      </tr>
      <tr>
        <th>Sr.</th>
        <th>Item</th>
        <th>Qty</th>
        <th>Amount</th>
      </tr>
        <?php
    $i = 0;
    $total = 0;
    $stmttr = $user_home->runQuery("SELECT * FROM invoice WHERE BRN = :inv"); // Your query
    $stmttr->bindParam(':inv',$irn);
$allRows = $stmttr->rowCount(); // Count Total rows available in result
$tri = 0; // initiate variable to check <tr> status
        while($rowc)
        {
            extract($rowc);
            $i++;

?>

    <tr  <?php if(++$tri==$allrows) { ?> style="padding-bottom: 100px;"<?php } ?>   >
          <td style="border-top:none !important; border-bottom:none !important;">
          <?php echo $i; ?>
          </td>
          <td style="border-top:none !important; border-bottom:none !important;">
          <?php
          $itm = $IRN;
          $stmti = $user_home->runQuery('SELECT * FROM item WHERE IRN = :iinv ');
        $stmti->bindParam(':iinv',$itm);
        $stmti->execute();
        $rowci = $stmti->fetch(PDO::FETCH_ASSOC); 
          echo $rowci['Name']; 
          $srv = $SRN;
          $stmts = $user_home->runQuery('SELECT * FROM service WHERE SRN = :sinv ');
        $stmts->bindParam(':sinv',$srv);
        $stmts->execute();
        $rowcs = $stmts->fetch(PDO::FETCH_ASSOC); 
          ?>
          &nbsp;(<?php echo $rowcs['Name']; ?>)
          </td>
          <td style="border-top:none !important; border-bottom:none !important;">
          <?php echo $Quantity; ?>
          </td>
          <td style="border-top:none !important; border-bottom:none !important;">
          <?php echo $Amnt; ?>
          </td>
        </tr>

                <?php
                $total = $total + $Amnt;
            $rowc=$stmt->fetch(PDO::FETCH_ASSOC);
            }
            ?>

        <tr>
          <td colspan="2"><strong><?php echo getIndianCurrency($total); ?>Only</strong></td>
          <td><strong>Total:</strong></td>
          <td><strong><?php echo $total; ?></strong></td>
        </tr>

    </table>

【讨论】:

  • @BTC 尝试使用倒数第二个 &lt;tr&gt; 进行更新,请参阅更新后的答案
  • 因为将按照mysql database 插入行,所以我也不知道哪个状态将是倒数第二个&lt;tr>
  • @BTC 查询结果的行数检查代码
  • 如果$i=0; 条件应该是if(++$i == $count)
  • @BTC 只需从您的代码中删除额外的$tri++,并在条件检查之前尝试打印并检查所有必要的变量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多