0

在我的项目中,我需要能够打印出包含租用巴士信息的信件。我没有太多经验,所以我所做的就是将非常简单的字母放到网页上,然后我的想法是能够为每个字母设置一个打印按钮并打印我想要打印的任何内容。我想我已经做了所有事情,但我无法让打印工作,这个按钮似乎是一个毫无意义的按钮。我的 JavaScript 编码很差,所以我不太确定如何解决这个问题。任何帮助将不胜感激。我从如何使用 php 下载/打印页面的特定部分中获得了很多想法,但是我有这个特定的问题,所以仅仅看一下对我没有特别的帮助。

<?php
include "connection.php";

$id = 0;
$result = mysql_query("SELECT cost, date, time, pickuplocation, destination,    numberofpeople, endtime, hireid, payment FROM hire WHERE information='letter'");

while ($row = mysql_fetch_array($result)) {
    $id = $id + 1;
    echo "<div id=" . $id . ">";
    echo "The Hurst and Hassocks Community Bus Association <br> 
            Invoice <BR> <BR>
            Thank you for hiring with the Association. <BR>
            The total cost for the hire is: &pound;" . $cost = $row['cost'] . "<BR><BR>
            Your details for the hire: <BR>
            Date: " . $date = $row['date'] . " <BR>
            Time: " . $time = $row['time'] . " <br>
            Pick up location: " . $pickuplocation = $row['pickuplocation'] . " <br>
            Destination: " . $destination = $row['destination'] . " <br>
            Number of people: " . $numberofpeople = $row['numberofpeople'] . " <br>
            End time: " . $endtime = $row['endtime'] . " <br>
            Hire ID: " . $hireid = $row['hireid'] . " <br><br>";

    if (($payment = $row['payment']) == "cheque") {
        echo "In order to pay for your hire and therefore confirm it, please address your     cheque to The Hurst and Hassocks Community Bus Association and include the total cost. Put your cheque in an envelope and send to the following address:  <BR><BR>";
    }

    if (($payment = $row['payment']) == "transfer") {
        echo "In order to pay for your hire and therefore confirm it, you will need to make an online bank transfer to The Hurst and Hassocks Community Bus Association. You will need to enter the Account Number and Sort Code when making the transfer. <BR>
            Account Number:  <BR>
            Sort Code: <BR><br>";
    }

    echo "We will need to receive payment at least 3 days before the date of the hire in order to confirm details with you. If payment is not received by then, the hire will be cancelled. Once payment is received we will send you a confirmation letter. Your driver for the hire will then contact you a few days before the hire to confirm details. <BR><br>
            Thank you for hiring with us, <br><br>

            Simon Strange, <br>
            The Hurst and Hassocks Community Bus Association<br><br><br>--------------------------------------------------------------<br><br>";
    echo "</div>";
    echo "<input type='button' value='Print' onclick='printPage(" . $id . ");'></input>";
    echo $id;

    echo "<br>--------------------------------------------------------------<br><br>";
}
?>

<script>
    function printPage('<?php $id; ?>') {

        var html='<html>';
        html+= document.getElementById(id).innerHTML;
        html+='</html>';
        var printWin = window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status =0');
        printWin.document.write(html);
        printWin.document.close();
        printWin.focus();
        printWin.print();
        printWin.close();
    }
</script>
4

1 回答 1

2

你需要改变:

function printPage('<?php $id; ?>') {

至:

function printPage(id) {

试试看?

于 2013-02-24T18:35:37.817 回答