|
|
|
การออก report เป็น Excel จากการค้นหาตามช่วงวันที่ ที่เราต้องการค้นหา |
|
|
|
|
|
|
|
เรียนผู้รู้ช่วยแนะนำผมด้วยครับ หากผมจะทำการออก report ไปเป็น excel ผมต้องว่าง code ลิ้งไปหน้า การออกเป็นexcel อย่างไรครับ
<a href='export_aphr.php?st_date=<?=$s_date?>&en_date=<?=$e_date?>' target='_blank'>ส่งไฟล์เป็น EXCEL</a>
ต้องว่างลิ้งนี้ไว้ตรงไหน มันถึงจะรับค่าตัวแปรวันที่ ที่ผมค้นหาส่งไปหน้าที่ต้องการได้ครับ ขอบคุณล่วงหน้าด้วยครับ
Code (PHP)
<?php
// เชื่อมต่อกับฐานข้อมูล
?>
<?php
// ฟังก์ชั่นสำหรับการแบ่งหน้า NEW MODIFY
function page_navi($before_p,$plus_p,$total,$total_p,$chk_page){
global $urlquery_str;
$pPrev=$chk_page-1;
$pPrev=($pPrev>=0)?$pPrev:0;
$pNext=$chk_page+1;
$pNext=($pNext>=$total_p)?$total_p-1:$pNext;
$lt_page=$total_p-4;
if($chk_page>0){
echo "<a href='$urlquery_str"."pages=".intval($pPrev+1)."' class='naviPN'>Prev</a>";
}
if($total_p>=11){
if($chk_page>=4){
echo "<a $nClass href='$urlquery_str"."pages=1'>1</a><a class='SpaceC'>. . .</a>";
}
if($chk_page<4){
for($i=0;$i<$total_p;$i++){
$nClass=($chk_page==$i)?"class='selectPage'":"";
if($i<=4){
echo "<a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
if($i==$total_p-1 ){
echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
}
}
if($chk_page>=4 && $chk_page<$lt_page){
$st_page=$chk_page-3;
for($i=1;$i<=5;$i++){
$nClass=($chk_page==($st_page+$i))?"class='selectPage'":"";
echo "<a $nClass href='$urlquery_str"."pages=".intval($st_page+$i+1)."'>".intval($st_page+$i+1)."</a> ";
}
for($i=0;$i<$total_p;$i++){
if($i==$total_p-1 ){
$nClass=($chk_page==$i)?"class='selectPage'":"";
echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
}
}
if($chk_page>=$lt_page){
for($i=0;$i<=4;$i++){
$nClass=($chk_page==($lt_page+$i-1))?"class='selectPage'":"";
echo "<a $nClass href='$urlquery_str"."pages=".intval($lt_page+$i)."'>".intval($lt_page+$i)."</a> ";
}
}
}else{
for($i=0;$i<$total_p;$i++){
$nClass=($chk_page==$i)?"class='selectPage'":"";
echo "<a href='$urlquery_str"."pages=".intval($i+1)."' $nClass >".intval($i+1)."</a> ";
}
}
if($chk_page<$total_p-1){
echo "<a href='$urlquery_str"."pages=".intval($pNext+1)."' class='naviPN'>Next</a>";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>xxxx</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<SCRIPT language=JavaScript src="OverTable.js"></SCRIPT>
<script language='javascript' src='popcalendar.js'></script>
<LINK HREF="fileinclude/stylesheet.css" REL="stylesheet" TYPE="text/css">
<style type="text/css">
<!--
.unnamed1 {
font-family: "MS Sans Serif", Tahoma, sans-serif;
font-size: 14px;
}
.style2 {color: #FF0000}
.style5 {color: #333333; }
-->
/* css แบ่งหน้า */
.browse_page{
clear:both;
margin-left:12px;
height:25px;
margin-top:5px;
display:block;
}
.browse_page a,.browse_page a:hover{
display:block;
width: 2%;
font-size:14px;
float:left;
margin:0px 5px;
border:1px solid #CCCCCC;
background-color:#F4F4F4;
color:#333333;
text-align:center;
line-height:22px;
font-weight:bold;
text-decoration:none;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.browse_page a:hover{
border:1px solid #CCCCCC;
background-color:#999999;
color:#FFFFFF;
}
.browse_page a.selectPage{
display:block;
width:45px;
font-size:14px;
float:left;
margin-right:2px;
border:1px solid #CCCCCC;
background-color:#999999;
color:#FFFFFF;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.browse_page a.SpaceC{
display:block;
width:45px;
font-size:14px;
float:left;
margin-right:2px;
border:0px dotted #0A85CB;
background-color:#FFFFFF;
color:#333333;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.browse_page a.naviPN{
width:50px;
font-size:12px;
display:block;
/* width:25px; */
float:left;
border:1px solid #CCCCCC;
background-color:#999999;
color:#FFFFFF;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
/* จบ css แบ่งหน้า */
</style>
</head>
<BODY BGCOLOR="f4f4f4" LEFTMARGIN="0" TOPMARGIN="0">
<!--ส่วนสร้างฟอร์ม สำหรับค้นหา -->
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script src="jquery-1.10.2.js"></script>
<script src="jquery.ui.core.js"></script>
<script src="jquery.ui.widget.js"></script>
<script src="jquery.ui.datepicker.js"></script>
<link rel="stylesheet" href="demos.css">
<script>
$(function() {
$('#startdate').datepicker({ dateFormat: 'dd-mm-yy' })
$('#enddate').datepicker({ dateFormat: 'dd-mm-yy' })
});
</script>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td bgcolor="#BACBEF"><strong class="unnamed1"> ค้นหาข้อมูลประวัติ</strong></td>
</tr>
</table>
<div style="margin:0px;text-align:left;width:900px;">
<form id="form_search" name="form_search" method="get" action="">
<table align="center" width="300" border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="unnamed1">
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" checked>
ค้นหาข้อมูลการลา ตามช่วงวันที่</div></td>
</tr>
<tr>
<td>
<div align="left">ตั้งแต่วันที่:
<input name="startdate" type="text" id="startdate"><br>
จนถึงวันที่:<input name="enddate" type="text" id="enddate">
<input type="submit" name="button" id="button" value="ค้นหา">
</div></td>
</tr>
</table>
</form>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="00">
<tbody>
<tr>
<td align="left" >
<table width="1087" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#999999" bordercolordark="#FFFFFF">
<tr bgcolor="#60AAD2" class="unnamed1">
<td bgcolor="#BACBEF"><div align="center" class="style5">ลำดับ</div></td>
<td width="10" bgcolor="#BACBEF"><div align="center" class="style5">รหัส</div></td>
<td width="99" bgcolor="#BACBEF"><div align="center" class="style5">ชื่อ-สกุล</div></td>
<td width="33" bgcolor="#BACBEF"><div align="center" class="style5">สังกัด</div></td>
<td width="42" bgcolor="#BACBEF"><div align="center" class="style5">ลา</div></td>
<td width="75" bgcolor="#BACBEF"><div align="center" class="style5">วันที่</div></td>
<td width="75" bgcolor="#BACBEF"><div align="center" class="style5">ถึงวันที่</div></td>
<td width="35" bgcolor="#BACBEF"><div align="center" class="style5">เวลา</div></td>
<td width="35" bgcolor="#BACBEF"><div align="center" class="style5">ถึงเวลา</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">รวม</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">หน่วย</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">แผนก</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">ส่วน</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">ฝ่าย</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">MD</div></td>
<td width="60" bgcolor="#BACBEF"><div align="center" class="style5">HR</div></td>
<td width="39" bgcolor="#BACBEF"><div align="center" class="style5">สถานะ</div></td>
<td width="28" bgcolor="#BACBEF"><div align="center" class="style5">ดู</div></td>
</tr>
<?php
$i=1;
$q = "SELECT ab.id,em.IDEmployee,em.NameEmployee,em.Surname,ab.absent_type,ab.startdate,ab.enddate,
ab.starttime,ab.endtime,ab.totaltime,ab.ap_unit,ab.ap_sec,ab.ap_div,ab.ap_mgr,ab.ap_md,ab.ap_hr,
ab.department,em.Approve1,em.Approve2,em.Approve3,em.Approve4,ab.status,ab.id AS ab_id
FROM employeetable AS em INNER JOIN absence AS ab ON em.idemployee=ab.idemp WHERE em.Status='ปกติ'";
// เงื่อนไขการค้นหา ถ้ามีการส่งค่า ตัวแปร $_GET['keyword']
if(isset($_GET['startdate']) && $_GET['startdate']!=""){
// ต่อคำสั่ง sql
$st = explode("-",$_GET['startdate']);
$st_date = $st[2]."-".$st[1]."-".$st[0];
$en = explode("-",$_GET['enddate']);
$en_date = $en[2]."-".$en[1]."-".$en[0];
$q.=" AND ab.startdate BETWEEN '$st_date' and '$en_date'";
}
$qr=@mysql_query($q);
$total=@mysql_num_rows($qr);
$e_page=15; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า
if(!isset($_GET['pages'])){
$_GET['pages']=0;
}else{
$_GET['pages']=$_GET['pages']-1;
if($_GET['pages']<0){
$_GET['pages']=0;
}
$chk_page=$_GET['pages'];
$_GET['pages']=$_GET['pages']*$e_page;
}
$q.=" ORDER BY ab.startdate ASC LIMIT ".$_GET['pages'].",$e_page";
$qr=@mysql_query($q);
if(@mysql_num_rows($qr)>=1){
$plus_p=($chk_page*$e_page)+@mysql_num_rows($qr);
}else{
$plus_p=($chk_page*$e_page);
}
$total_p=ceil($total/$e_page);
$before_p=($chk_page*$e_page)+1;
/// END PAGE NAVI ZONE
while($rs=@mysql_fetch_array($qr)){
$id = $rs["id"];
$st = explode("-",$rs["startdate"]);
$en = explode("-",$rs["enddate"]);
$s_date = $st[2]."-".$st[1]."-".$st[0];
$e_date = $en[2]."-".$en[1]."-".$en[0];
$totaltime = $rs["totaltime"];
$total1=floor(($totaltime)/480);
$total2=($totaltime%480)/60;
$total3=$total1." วัน ".$total2 ." ชม.";
?>
<tr>
<td width="34" height="20" align="center"><?=(($e_page*$chk_page)+$i)?></td>
<td height="20" class="DetailBody"> <?=$rs['IDEmployee']?></td>
<td height="20" class="DetailBody"> <?=$rs['NameEmployee']." ".$rs['Surname']?></td>
<td height="20" class="DetailBody"> <?=$rs['department']?></td>
<td height="20" class="DetailBody"> <?=$rs['absent_type']?></td>
<td height="20" class="DetailBody"> <?=$s_date;?></td>
<td height="20" class="DetailBody"> <?=$e_date;?></td>
<td height="20" class="DetailBody"> <?=$rs['starttime']?></td>
<td height="20" class="DetailBody"> <?=$rs['endtime']?></td>
<td height="20" class="DetailBody"> <?=$total3;?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_unit']?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_sec']?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_div']?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_mgr']?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_md']?></td>
<td height="20" class="DetailBody"> <?=$rs['ap_hr']?></td>
<td height="20" class="DetailBody"> <?=$rs['status']?></td>
<td height="20" class="DetailBody"> <a href='preview_emp.php?id=<?=$id?>'><img src=images/Preview.png width=22 height=22 border=0></a></td>
</tr>
<?php $i++; } ?>
</table>
<br />
</td>
</tr>
</tbody>
<thead>
<tr>
<td align="left">
<div style="margin:auto;width:100%;">
<?php if($total>15){ ?>
<div class="browse_page">
<?php
if(count($_GET)<=1){
$urlquery_str="?";
}else{
$para_get="";
foreach($_GET as $key=>$value){
if($key!="pages"){
$para_get.=$key."=".$value."&";
}
}
$urlquery_str="?$para_get";
}
// เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า
page_navi($before_p,$plus_p,$total,$total_p,$chk_page);
?>
</div>
<?php } ?>
</div>
</td>
</tr>
</thead>
<tfoot>
<tr>
<td align="left">
<div style="margin:auto;width:100%;">
<?php if($total>15){ ?>
<div class="browse_page">
<?php
// เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า
page_navi($before_p,$plus_p,$total,$total_p,$chk_page);
?>
</div>
<?php } ?>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</BODY>
</HTML>
Tag : PHP, HTML/CSS, Ajax, jQuery
|
|
|
|
|
|
Date :
2014-08-22 18:08:29 |
By :
B4571193 |
View :
1035 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองจับภาพหน้าจอมาวางด้วยจะช่วยให้เร็วขึ้นครับ
|
|
|
|
|
Date :
2014-08-22 18:24:21 |
By :
cowboycnx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|