外包网www.waibao.com.cn
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
外包网论坛(威客,威客网,悬赏任务)

如何成为一名群主?   

发表新主题 回复该主题
本主题被查看50次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: PHP+CSS实现打印简单数据报表功能
版主
UID: 16051
来自:
精华: 0
积分: 6673
帖子: 6669
注册: 2008-6-10 11:56:00
状态: 离线
包子皮: 4.00
包子馅: 1670.50 元
只看楼主 2008-11-19 16:44
PHP+CSS实现打印简单数据报表功能
我的身份:公司
认证信息:  未实名认证
基本诚信:0
项目诚信:0
经验积分:26
我的服务范围:
尚未填写
    
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" ,'          ');
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">rogram : </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> </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%10 == 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;"> </p>
<table cellpadding="2" cellspacing="3">
<tr>
<td class="right">rogram : </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> </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="rint" >
</td>
<td colspan="11" class="right">
<input type="button" class="noprint" name="close" value="Close Window" >
</td>
</tr>
</table>';
}
else{
echo'<script>alert("Have no records!")';
exit;
}
?>

                    
#1  
发表新主题 回复该主题
本主题被查看50次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2009-01-09 07:23:25

版权所有 外包网  
         Powered by Discuz!NT 1.0.2656    Copyright © 2001-2009 Comsenz Inc.
Processed in 0.128 seconds