简体   繁体   English

分页符只有一次

[英]Page breaks only once

I have a PHP/HTML page that prints a bunch of receipts. 我有一个PHP / HTML页面,上面打印出许多收据。 I'm trying to make it page break after each when actually printing. 我试图在每次实际打印后使其分页。 I've tried several style and class codes, but the best I've been able to do is get it to break after the first, but it never repeats. 我已经尝试了几种样式和类代码,但是我能做的最好的事情是让它在第一个代码之后就中断了,但是永远不会重复。 IOW I want it to page break after each time it prints the table referred to in the code. IOW,我希望它每次打印代码中引用的表后都能分页。

enter code here
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"         "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<style type="text/css">
@media all {
.page-break { display: none; }
}

@media print {
.page-break { display: block; page-break-before: always; }
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>North Atlanta Riding Club</title>
<link href="../styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style45 {
    color: #FF0000;
    font-weight: bold;
    font-style: italic;
}
-->
</style>
</head>

<body>
<?php 
do{
        //THIS SEES IF THE LOGGED IN MEMBER HAS CONFIRMED CLOTHING
        $colname_confirmed = "1";
        if (isset($row_roster['key1'])) {
          $colname_confirmed = (get_magic_quotes_gpc()) ? $row_roster['key1'] : addslashes($row_roster['key1']);
        }
        mysql_select_db($database_connection1, $connection1);
        $query_confirmed = sprintf("SELECT * FROM clothingorder WHERE who = %s AND confirmed = 'Y' ORDER BY key1 ASC", $colname_confirmed);
        $confirmed = mysql_query($query_confirmed, $connection1) or die(mysql_error());
        $row_confirmed = mysql_fetch_assoc($confirmed);
        $totalRows_confirmed = mysql_num_rows($confirmed);

        if($totalRows_confirmed<>0){?>

                    <table width="990" border="0" align="left" cellpadding="0" cellspacing="0">
                      <!--DWLayoutTable-->
                      <tr>
                        <td width="990" height="31" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                      </tr>
                      <tr>
                        <td height="83" valign="top">
                          <table border="1" align="left" cellpadding="2" cellspacing="0" bordercolor="#000000">
                            <tr bgcolor="#FFFFFF" class="style5">
                              <td colspan="9"><p>Member- <strong><?php echo $row_roster['fname']." ".$row_roster['lname']; ?><br>
                                  </strong>Telephone- <strong><?php echo $row_roster['tel']; ?></strong>&nbsp;&nbsp;&nbsp;Email- <strong><?php echo $row_roster['email']; ?></strong><br>
                                  Address- <br>
                                  <strong>
                                  <?php if($row_roster['add1']<>''){echo $row_roster['add1']."<br>";} ?>
                                  </strong>              
                                  <strong>
                                  <?php if($row_roster['add2']<>''){echo $row_roster['add2']."<br>";} ?>
                                  </strong>
                                  <strong>
                                  <?php if($row_roster['city']<>''){echo $row_roster['city'].", ";} ?>
                                  </strong>
                                  <strong>
                                  <?php if($row_roster['state']<>''){echo $row_roster['state']." ";} ?>
                                  </strong>
                                  <strong>
                                  <?php if($row_roster['zip']<>''){echo $row_roster['zip'];} ?>
                                  </strong><br>
                              </p>
                                </td>
                            </tr>
                            <tr bgcolor="#FFFFFF" class="style5">
                              <td><div align="center"><strong>Qty</strong></div></td>
                              <td><strong>Item</strong></td>
                              <td><strong>PO?</strong></td>
                              <td><div align="center"><strong>Paid?</strong></div></td>
                              <td><div align="center"><strong>Mens/Womens</strong></div></td>
                              <td><div align="center"><strong>Style</strong></div></td>
                              <td><div align="center"><strong>Cut</strong></div></td>
                              <td><div align="center"><strong>Size</strong></div></td>
                              <td><div align="center"><strong>Price</strong></div></td>
                      </tr>
                            <tr bgcolor="#FFFFFF" class="style5">
                              <td colspan="8"><div align="right">Narc Membership </div></td>
                              <td><div align="center">
                              <?php if($row_roster['paid']=="Y"){echo "Paid";$total=0;}else{echo "$".$row_dues['dues'];$total=$row_dues['dues'];} ?></div></td>
                            </tr>
                            <?php 
                            do { 
                                    $colname_item = "1";
                                    if (isset($row_confirmed['item'])) {
                                    $colname_item = (get_magic_quotes_gpc()) ? $row_confirmed['item'] : addslashes($row_confirmed['item']);
                                    }
                                    mysql_select_db($database_connection1, $connection1);
                                    $query_item = sprintf("SELECT key1, item, price, free FROM clothing WHERE key1 = %s", $colname_item);
                                    $item = mysql_query($query_item, $connection1) or die(mysql_error());
                                    $row_item = mysql_fetch_assoc($item);
                                    $totalRows_item = mysql_num_rows($item);
                                    ?>
                            <tr class="style5">
                              <td><div align="center"><?php echo $row_confirmed['qty']; ?></div></td>
                              <td><?php echo $row_item['item']; ?></td>
                              <td><div align="center"><span class="style45">
                                <?php if($row_confirmed['postorder']=='Y'){?>YES<?php }?></span></div></td>
                              <td><div align="center"><?php echo $row_confirmed['paid']; ?></div></td>
                              <td><div align="center"><?php echo $row_confirmed['mf']; ?></div></td>
                              <td><div align="center"><?php echo $row_confirmed['style']; ?></div></td>
                              <td><div align="center"><?php echo $row_confirmed['cut']; ?></div></td>
                              <td><div align="center"><?php echo $row_confirmed['size']; ?></div></td>
                              <td><div align="center">
                              <?php if($row_confirmed['price'] == 0){echo "Free";
                                }else{
                                    if($row_confirmed['paid']=="Y"){echo "Paid";}else{echo $row_confirmed['price'];$total = $total + $row_confirmed['price'];}
                                    } ?>

                              </div></td>
                            </tr>
                            <?php 

                            } while ($row_confirmed = mysql_fetch_assoc($confirmed)); ?>
                                    <tr bgcolor="#FFFFFF" class="style5">
                              <td colspan="8"><div align="right"><em><strong>Total Owed</strong></em></div></td>
                              <td><div align="center" class="style6"><em><strong><?php echo "$".$total.".00";?></strong></em></div></td>
                            </tr>
                    </table>
                    </td>
                      </tr>
                    </table>
                    <div class="page-break"></div>
        <?php 
        }

}while($row_roster = mysql_fetch_assoc($roster));
?>
</body>

I too am finding the page break in @media print {} to be "beyond flaky"! 我也发现@media print {}中的分页符“不可靠”! In fact, so far finding the @media print to be flaky entirely. 实际上,到目前为止,发现@media打印完全不完整。 Floats aren't working well and several styling details just don't seem to be displaying as envisioned. 浮动效果不好,似乎没有按照预期显示几个样式细节。 It seems that browser support for "print" is lackluster. 似乎浏览器对“打印”的支持不佳。 I am working on an application that should print name badges and precision is critical regarding placement and sizing. 我正在开发一个应打印姓名徽章的应用程序,而精度对于放置和调整大小至关重要。 I'm close to giving up on the @media print {} styling though I'd hoped to have it look web-savvy online but to print as I envision. 我希望放弃@media印刷版{}样式,尽管我希望它看起来像网络版,但可以按照我的设想进行印刷。 Might have to settle for it looking like the badges. 可能需要像徽章一样解决它。 I'm using code which adds that page-break class div every 6 "records" (badges are 6-up in 2 columns of 3, 4" x 3" w). 我正在使用的代码每6条“记录”添加分页符class div(徽章在3、4“ x 3” w的2列中为6-up)。

If like me, you're unable to find the method that uses @media print {} would it work to just display the receipt on-screen as you intend it to print? 如果像我一样,您找不到使用@media print {}的方法,将其仅打印在打算打印的收据上会起作用吗? May also be your workaround until (and if) the browsers catch up to w3c conventions. 直到(如果有)浏览器赶上w3c约定之前,也可能是您的解决方法。 I'd love to find a good publication explaining what does and doesn't work about the @media print styling otherwise the screen styling should work. 我很想找到一个好的出版物来解释@media印刷样式的作用和不作用,否则屏幕样式应该起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM