-2

我正在做一个航空票务项目。

我能够向用户显示最终票,但是当他/她单击打印按钮时,我如何让用户能够打印它。

请帮忙..

    <title>Untitled Document</title>
    <style type="text/css">
    #main {
position:absolute;

top:100px;
width:100%;
height:250px;
z-index:1;
}
#submit {
position:absolute;

top:300px;
width:100%;
height:42px;
z-index:2;
}
</style>
</head>

<body>
<div id="main" align="center">
<?PHP
mysql_connect("127.0.0.1","root","");
mysql_select_db("cmc");
$id=$_REQUEST['id'];
$r=mysql_query("select * from manifest where transid=".$id);
$d=mysql_fetch_assoc($r);
?>

<table width="800" border="1">
<tr>
<td colspan="6" align="center">HORIZON AIRWAYS PASSENGER TICKET</td>

</tr>
<tr >
<td colspan="3" align="center">PNR NUMBER: </td>
<td colspan="3" align="center"><?php echo $d["pnrno."]; ?></td>

</tr>
<tr >
<td colspan="3" align="center"> PASSENGER'S NAME:</td>
<td colspan="3" align="center"><?php echo $d["name"]; ?></td>

</tr>
<tr >
<td colspan="3" align="center">DATE OF ISSUE:</td>
<td colspan="3" align="center"><?PHP 
ini_set('date.timezone','asia/calcutta');
echo date("d/m/y"); ?></td>

</tr>
<tr >
<td colspan="3" align="center">TIME OF ISSUE:</td>
<td colspan="3" align="center"><?PHP  
echo date("h/i/s"); ?></td>

</tr>
<tr >
<td colspan="3" align="center">DATE OF JOURNEY:</td>
<td colspan="3" align="center"><?php echo $d["day"]."-".$d["month"]."-".$d["year"]; ?>         </td>

</tr>
<tr>
<td colspan="6" align="center">NOT TRANSFERRABLE</td>

</tr>
<tr>
<td colspan="3" align="center">PASSENGER NAME:</td>
<td colspan="3" align="center"><?php echo $d["name"]; ?></td>
</tr>
<tr>
<td colspan="3" align="center">SECTOR:</td>
<td colspan="3" align="center"><?php echo $d["sector"]; ?></td>
</tr>
<tr>
<td width="134" align="center">FLIGHT #</td>
<td width="132" align="center">CLASS</td>
<td width="112" align="center">DATE</td>
<td width="130" align="center">DEP. TIME</td>
<td width="132" align="center">ARR. TIME</td>
<td width="120" align="center">STATUS</td>
</tr>
<tr>
<td><?php echo $d["flight_no."]; ?></td>
<td><?php echo $d["class"]; ?></td>
<td><?php echo $d["name"]; ?></td>
<td><?php echo $d["departure"]; ?></td>
<td><?php echo $d["arrival"]; ?></td>
<td><?php echo "confirm"; ?></td>
</tr>

</table>
<div id="submit" align="center">
<form name="form1" method="POST">
<input type="submit" value="Print" name="submit"/>
</form>
</div>



</div>
</body>
</html>
4

4 回答 4

2

打印必须在客户端完成,而不是服务器端。这不应该是一种形式(我实际上会将其设为链接)。最简单的方法:

<input type="submit" value="Print" onclick="print(); return false;"/>
于 2012-07-11T15:02:58.827 回答
2

您可以使用 javascript 函数触发打印事件 bij window.print():.

例子:

<a href="javascript:window.print()">print page</a>

小费!

使用打印 CSS 告诉浏览器要打印什么!这样用户就不会浪费纸张;)

包含打印 CSS 样式表的示例:<style type="text/css" media="print" href="print.css" />

有关 CSS 打印样式表的更多信息:http ://www.alistapart.com/articles/goingtoprint/

于 2012-07-11T15:03:12.870 回答
1

您可以使用print方法通过 javascript 调用打印

<A HREF="javascript:window.print()">Click to Print This Page</A>

您可能希望在打印页面时隐藏页面中的某些元素。为此,您可以像这样使用 css:

@media print {
   .non-printable { display: none; }
  }

然后给那些你不想打印的元素提供不可打印的类。

于 2012-07-11T15:03:00.687 回答
0

其他人是正确的,这将完成

<a href="javascript:window.print()">print ticket</a>

您可能还想为打印版本创建一个单独的 CSS 样式,以去除不必要的图形。如果有单独的登机牌或其他东西,您还可以添加手动分页符。

<link rel="stylesheet" href="css/print.css" type="text/css" media="print" />
于 2012-07-11T15:07:30.817 回答