0

使用 FPDF 的插件,我正在使用 PHP/MySQL ( http://www.fpdf.de/downloads/addons/29/ ) 打印标签。我希望能够让用户选择要打印的标签数量。例如,如果查询输出 10 条记录,并且用户想要为每条记录打印 3 个标签,则将它们全部打印在一组中。1,1,1,2,2,2,3,3,3...等 有任何想法吗?

     <?php
            require_once('auth.php'); 
            require_once('../config.php'); 
            require_once('../connect.php');     

            require('pdf/PDF_Label.php');

            $sql="SELECT $tbl_members.lastname, $tbl_members.firstname, 
    $tbl_members.username, $tbl_items.username, $tbl_items.itemname 
FROM $tbl_members, $tbl_items
WHERE $tbl_members.username = $tbl_items.username";
            $result=mysql_query($sql);

            if(mysql_num_rows($result) == 0){
            echo "Your search criteria does not return any results, please try again.";
            exit();
            }

            $pdf = new PDF_Label("5160");

            $pdf->AddPage();

            // Print labels
            while($rows=mysql_fetch_array($result)){
                $name = $rows['lastname'].', '.$rows['firstname';
                $item= $rows['itemname'];

                $text = sprintf("  * %s *\n  %s\n", $name, $item);
                $pdf->Add_Label($text);
            }

            $pdf->Output('labels.pdf', 'D');
            ?>
4

1 回答 1

1

假设变量 like$copies是他们想要制作的副本数的整数,我将进行以下修改:

// Print labels
while( $row = mysql_fetch_array( $result ) ){
  // Run Once for Each Result
    $name = $row['lastname'].', '.$row['firstname'];
    $item = $row['itemname'];
    $text = sprintf("  * %s *\n  %s\n", $name, $item);
    if( isset( $copies ) ) {
      // The Copies Variable exists
        for( $i=0 ; $i<$copies ; $i++ ) {
          // Run X times - Once for each Copy
            $pdf->Add_Label($text);
        }
    } else {
      // The Copies Variable does not exist - Assume 1 Copy
        $pdf->Add_Label($text);
    }
}

这应该提供所需的功能。

于 2010-06-06T05:45:11.853 回答