解析PHP CSS实现打印简单数据报表功能_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析PHP技术:txtSQL安装手册中文版
txtsql的最大优点之一是文档很详细,可惜,我在网上找了半天也找不到中文版的文档,所以只好自己动手,利人利已吧,不过自己的E文水平自己是很清楚的,希望大家看了不会笑掉大牙才好,还希

PHP CSS实现打印简单数据报表功能

功能:实现打印日报表的功能,定义了专门的打印样式,隐藏了不该打印的控件并实现了分页打印功能,表名:rec 字段:rec_id,rec_po,rec_part,rec_plant,rec_vendor,rec_pur_um,rec_req_date,rec_req_qty,rec_rec_qty,rec_iqc_date,rec_notes

完整源代码如下:

以下为引用的内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Daily Report </title>
<style rel="stylesheet" type="text/css" media="all" />
body {
margin: 9px;
padding: 0;
color: black;
text-decoration: none;
font-size: 10pt;
font-family: "Courier New";
}

input {
font-family: Arial;
}

th {
font-weight: normal;
border-bottom: 1px solid black;
}

td {
font-size: 9pt;
font-family: "Courier New";
}

td.pod {
font-size: 11pt;
font-family: "Courier New";
}

th.pod {
font-size: 11pt;
font-family: "Courier New";
}

td.endline {
border-top: 1px solid black;
}

.left {
text-align: left;
}

.right {
text-align: right;
}

.center {
text-align: center;
}

.top {
vertical-align: top;
}

@media print {
.noprint { display: none; }
}
</style>
</head>
<body>

<?php

define ("SP10" ,'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
global re;
function db_link()
{
access_id = "root";
access_pwd = "831025";
db_name = "inv";
@ db = mysql_connect('localhost', access_id, access_pwd) or
die("Could not connect to database. Please contact with IT supporting team ASAP.");
mysql_query("SET NAMES 'GBK'");
mysql_select_db(db_name);
return db;
}
link=db_link();
?>

<table cellpadding="2" cellspacing="3">
<tr>
<td class="right">Program : </td>
<td>bom_report.php</td>
<td><?php echo SP10;?></td>
<td class="right">Date/Time : </td>
<td><?php echo date("Y-m-d").'/'.date("H:i:s");?></td>
</tr>
<tr>
<td class="right"> Plant : </td>
<td>SJ01</td>
<td><?php echo SP10;?></td>
<td class="right"> User Name : </td>
<td>liuxueping</td>
</tr>
<tr>
<td class="right"> Receiving Date : </td>
<td><?php echo date("Y-m-d").'/'.date("H:i:s");?></td>
<td><?php echo SP10;?></td>
<td class="right"> Page : </td>
<td>1</td>
</tr>
<tr><td>&nbsp;</td></tr>
<table>

<table cellpadding="2" cellspacing="3">
<tr>
<th class="header" > No. </th>
<th class="header" > Vendor </th>
<th class="header" > Part </th>
<th class="header" > Description </th>
<th class="header" > UM </th>
<th class="header" > Require Date </th>
<th class="header" > Require Qty </th>
<th class="header" > Deliver Qty </th>
<th class="header" > Receive Qty </th>
<th class="header" > IQC </th>
<th class="header" > Remark </th>
</tr>
<?php

rec_sql = "SELECT * FROM rec WHERE rec_plant = 'SJ01' ORDER BY rec_id DESC";
rec_res = mysql_query(rec_sql);
rec_num = mysql_num_rows(rec_res);

if(rec_num>0){
for (i = 0; i < rec_num; i ){
re ;
rec_row = mysql_fetch_array(rec_res);

part_sql = "SELECT pt_desc FROM part WHERE pt_part='".rec_row['rec_part']."' ";
part_res = mysql_query(part_sql);
part_row = mysql_fetch_array(part_res);

echo'<tr>
<td class="list center bom">'.(i 1).'</td>
<td class="list left bom">'.rec_row['rec_vendor'].'</td>
<td class="list left bom">'.rec_row['rec_part'].'</td>
<td class="list left bom">'.part_row['pt_desc'].'</td>
<td class="list left bom">'.rec_row['rec_pur_um'].'</td>
<td class="list left bom">'.substr(rec_row['rec_req_date'], 0, 10).'</td>
<td class="list right bom">'.number_format(rec_row['rec_req_qty'], 2).'</td>
<td class="list right bom">'.number_format(rec_row['rec_rec_qty'],2).'</td>
<td class="list right bom">'.number_format(rec_row['rec_rec_qty'],2).'</td>
<td class="list left bom">'.substr(rec_row['rec_iqc_date'], 0 ,10).'</td>
<td class="list left bom">'.rec_row['rec_notes'].'</td>
</tr>';

//每页只打印10条记录,如果记录数是10的倍数后,显示'***End of Report***'并开始打印下一页
if(re == 0 and re != rec_num){
echo'
<tr>
<td colspan="11" class="center endline"> *** End of Report *** </td>
</tr>
</table>';
//下一页开始打印
echo '
<p style="page-break-before:always;">&nbsp;</p>
<table cellpadding="2" cellspacing="3">
<tr>
<td class="right">Program : </td><td>bom_pro.php</td><td>'.SP10.'</td><td class="right">Date/Time : </td><td>'.date("Y-m-d").'/'.date("H:i:s").'</td>
</tr>
<tr>
<td class="right"> Plant : </td><td>SJ01</td><td>'.SP10.'</td><td class="right"> User Name : </td><td>lucas</td>
</tr>
<tr>
<td class="right"> Receiving Date : </td><td>'.date('Y-m-d').'</td><td>'.SP10.'</td><td class="right"> Page : </td><td>';echo re/10 1;echo'</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table cellpadding="2" cellspacing="3">
<tr>
<th class="header" > No. </th>
<th class="header" > Vendor </th>
<th class="header" > Part </th>
<th class="header" > Description </th>
<th class="header" > UM </th>
<th class="header" > Require Date </th>
<th class="header" > Require Qty </th>
<th class="header" > Deliver Qty </th>
<th class="header" > Receive Qty </th>
<th class="header" > IQC </th>
<th class="header" > Remark </th>
</tr>';
}
}

echo'
<tr>
<td colspan="11" class="center endline"> *** End of Report *** </td>
</tr>
<tr>
<td>
<input type="button" class="noprint" name="print" value="Print" onclick="window.print()">
</td>
<td colspan="11" class="right">
<input type="button" class="noprint" name="close" value="Close Window" onclick="window.close()">
</td>
</tr>
</table>';
}
else{
echo'<script>alert("Have no records!")';
exit;
}
?>

分享:解析PHP上传自动生成缩略图及水印类
思路很大一部分是原创的,但也有一些是COPY网络的,写得不够规范,还请各位大大不要见笑,同时给小弟些意见。 开始第一步: 创建文件夹,布局: annex:附件(该目录下存放上传的原图片

来源:模板无忧//所属分类:PHP教程/更新时间:2009-09-18
相关PHP教程