Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > การออก report เป็น Excel จากการค้นหาตามช่วงวันที่ ที่เราต้องการค้นหา



 

การออก report เป็น Excel จากการค้นหาตามช่วงวันที่ ที่เราต้องการค้นหา

 



Topic : 110815



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์




เรียนผู้รู้ช่วยแนะนำผมด้วยครับ หากผมจะทำการออก 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">&nbsp;&nbsp;&nbsp;ค้นหาข้อมูลประวัติ</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">&nbsp;<?=$rs['IDEmployee']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['NameEmployee']." ".$rs['Surname']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['department']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['absent_type']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$s_date;?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$e_date;?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['starttime']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['endtime']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$total3;?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_unit']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_sec']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_div']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_mgr']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_md']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['ap_hr']?></td>
    <td height="20" class="DetailBody">&nbsp;<?=$rs['status']?></td>
    <td height="20" class="DetailBody">&nbsp;<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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-22 18:08:29 By : B4571193 View : 1006 Reply : 1
 

 

No. 1



โพสกระทู้ ( 212 )
บทความ ( 0 )



สถานะออฟไลน์


ลองจับภาพหน้าจอมาวางด้วยจะช่วยให้เร็วขึ้นครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-22 18:24:21 By : cowboycnx
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การออก report เป็น Excel จากการค้นหาตามช่วงวันที่ ที่เราต้องการค้นหา
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่