|
|
|
ถามเรื่องการทำรายงานค่ะ อยากทราบการดึงข้อมูลจากฐานข้อมูลออกมาเป็นรายงานค่ะ |
|
|
|
|
|
|
|
Code (PHP)
<? SESSION_START(); ?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<title>รายงานใบลาออนไลน์</title>
<link href="../css/style_report.css" rel="stylesheet" type="text/css" />
</head>
<?
include("../config/connect.php");
$username=$_SESSION['username'];
$id=$_GET['id'];
$sql_user="select * from employee e,tblleave l,department d,position p where e.emp_id=l.emp_id and d.depart_id=e.depart_id and p.posi_id=e.posi_id and e.user_name='$username' and l.le_id='$id'";
$data_user=mysql_query($sql_user);
$row_user=mysql_fetch_array($data_user);
$status=$row_user['le_status'];
$empid=$row_user['emp_id'];
$ledesc=$row_user['le_desc'];
$sex=$row_user['emp_sex'];
$now_date=date('Y-m-d');
list($y,$m,$d)=explode("-",$now_date);
switch ($m)
{
case 1 :
$mo="มกราคม";
break;
case 2 :
$mo="กุมภาพันธ์";
break;
case 3 :
$mo="มีนาคม";
break;
case 4 :
$mo="เมษายน";
break;
case 5 :
$mo="พฤษภาคม";
break;
case 6:
$mo="มิถุนายน";
break;
case 7 :
$mo="กรกฎาคม";
break;
case 8 :
$mo="สิงหาคม";
break;
case 9 :
$mo="กันยายน";
break;
case 10 :
$mo="ตุลาคม";
break;
case 11 :
$mo="พฤศจิกายน";
break;
case 12 :
$mo="ธันวาคม";
break;
}
$yo=$y+543;
$leave=$row_user['le_reasons'];
switch ($leave)
{
case 1 :
$leave_desc="ลากิจ";
break;
case 2 :
$leave_desc="ลาพักร้อน";
break;
case 3 :
$leave_desc="ลาแต่งงาน";
break;
case 4 :
$leave_desc="ลาอุปสมบท";
break;
case 5 :
$leave_desc="ลาทำหมัน";
break;
case 6:
$leave_desc="ลาคลอดบุตร";
break;
case 7 :
$leave_desc="ลาเพื่อรับราชการทหาร";
break;
case 8 :
$leave_desc="ลาป่วย";
break;
}
$lestart=$row_user['le_start'];
$leend=$row_user['le_end'];
list($sy,$sm,$sd)=explode("-",$lestart);
list($ey,$em,$ed)=explode("-",$leend);
$syo=$sy+543;
$eyo=$ey+543;
switch ($sm)
{
case 1 :
$smo="มกราคม";
break;
case 2 :
$smo="กุมภาพันธ์";
break;
case 3 :
$smo="มีนาคม";
break;
case 4 :
$smo="เมษายน";
break;
case 5 :
$smo="พฤษภาคม";
break;
case 6:
$smo="มิถุนายน";
break;
case 7 :
$smo="กรกฎาคม";
break;
case 8 :
$smo="สิงหาคม";
break;
case 9 :
$smo="กันยายน";
break;
case 10 :
$smo="ตุลาคม";
break;
case 11 :
$smo="พฤศจิกายน";
break;
case 12 :
$smo="ธันวาคม";
break;
}
switch ($em)
{
case 1 :
$emo="มกราคม";
break;
case 2 :
$emo="กุมภาพันธ์";
break;
case 3 :
$emo="มีนาคม";
break;
case 4 :
$emo="เมษายน";
break;
case 5 :
$emo="พฤษภาคม";
break;
case 6:
$emo="มิถุนายน";
break;
case 7 :
$emo="กรกฎาคม";
break;
case 8 :
$emo="สิงหาคม";
break;
case 9 :
$emo="กันยายน";
break;
case 10 :
$emo="ตุลาคม";
break;
case 11 :
$emo="พฤศจิกายน";
break;
case 12 :
$emo="ธันวาคม";
break;
}
$letime=$row_user['le_time'];
$total_date=$letime/8;
$date_leave="10";
$row_total="select * from tblleave where emp_id='$empid' and le_status='1'";
$data_total=mysql_query($row_total);
$num_total=mysql_num_rows($data_total);
if($num_total!='0')
{
while($row_total=mysql_fetch_array($data_total))
{
$l[]=$row_total['le_time'];
}
$amount_date=array_sum($l);
$sum_date=$amount_date/8;
}
else
{
$sum_date="0";
}
$sql_approved="select * from approved a,employee e,position p where a.appemp_id=e.emp_id and e.posi_id=p.posi_id and le_id='$id'";
$data_approved=mysql_query($sql_approved);
$row_approved=mysql_fetch_array($data_approved);
?>
<body onload="window.print(),window.close()">
<table width="675" border="0" align="center">
<tr>
<td width="669" class="head"><div align="center">ใบลาออนไลน์</div></td>
</tr>
<tr>
<td class="inner_head"><div align="right">เขียนที่ บริษัทฯ</div></td>
</tr>
<tr>
<td class="inner_head"><div align="right">วันที่ <? echo $d; ?> เดือน <? echo $mo; ?> พ.ศ. <? echo $yo; ?></div></td>
</tr>
<tr>
<td class="inner_head">เรื่อง ขอลางาน</td>
</tr>
<tr>
<td class="inner_head">เรียน ฝ่ายบุคคล</td>
</tr>
<tr>
<td class="inner_head"><? if($sex=='m') { echo "ข้าพเจ้า"; } else { echo "ดิฉัน"; } ?> <? echo $row_user['emp_name']; ?> แผนก <? echo $row_user['depart_desc']; ?> ตำแหน่ง <? echo $row_user['posi_desc']; ?></td>
</tr>
<tr>
<td class="inner_head">ขอ <? echo $leave_desc; ?><? if($ledesc!="") { echo " เนื่องจาก ".$ledesc; } else { echo ""; } ?></td>
</tr>
<tr>
<td class="inner_head">ตั้งแต่วันที่ <? echo $sd." ".$smo." ".$syo; ?> ถึง วันที่ <? echo $ed." ".$emo." ".$eyo; ?> ซึ่งเป็นเวลา <? echo $total_date; ?> วัน</td>
</tr>
<tr>
<td><table width="416" border="0" align="center">
<tr>
<td colspan="2"><div align="center" class="head_detail">สถิติการลาในปีนี้</div></td>
</tr>
<tr>
<td width="204" class="inner_head">จำนวนวันที่ลาได้ : </td>
<td width="202" class="under_head"><div align="center"><? echo $date_leave; ?> วัน</div></td>
</tr>
<tr>
<td class="inner_head">จำนวนวันที่ใช้สิทธิลา :</td>
<td class="under_head"><div align="center"><? echo $sum_date; ?> วัน</div></td>
</tr>
<tr>
<td class="inner_head">จำนวนวันที่เหลือ :</td>
<td class="under_head"><div align="center"><? echo $date_leave-$sum_date; ?> วัน</div></td>
</tr>
</table></td>
</tr>
<tr>
<td><div align="right" class="inner_head">
<div align="center"> ขอแสดงความนับถือ</div>
</div></td>
</tr>
<tr>
<td class="under_head"><div align="center"></div> </td>
</tr>
<tr>
<td class="under_head"><div align="center"><? echo $row_user['emp_name']; ?></div></td>
</tr>
<tr>
<td class="under_head"><div align="center"><? echo $row_user['posi_desc']; ?></div></td>
</tr>
<tr>
<td class="under_head"><div align="center"><? echo $d." ".$mo." ".$yo; ?></div></td>
</tr>
<? if($status=='0') { ?> <tr align="right">
<td class="under_head">ใบลาฉบับนี้ <? echo "รอการอนุมัติ"; ?></td></tr></table>
<? } else if($status=='1') { ?>
<tr align="right">
<td class="under_head">ใบลาฉบับนี้ <? echo "ผ่านการอนุมัติ"; ?></td>
</tr>
<tr align="right" class="under_head">
<td>ผู้อนุมัติ <? echo $row_approved['emp_name']; ?></td>
</tr>
<tr align="right" class="under_head">
<td>ตำแหน่ง <? echo $row_approved['posi_desc']; ?></td>
</tr>
<tr align="right" class="under_head">
<td>
ลงวันที่
<? $date_app=$row_approved['app_date'];
list($ay,$am,$ad)=explode("-",$date_app);
switch ($am)
{
case 1 :
$amo="มกราคม";
break;
case 2 :
$amo="กุมภาพันธ์";
break;
case 3 :
$amo="มีนาคม";
break;
case 4 :
$amo="เมษายน";
break;
case 5 :
$amo="พฤษภาคม";
break;
case 6:
$amo="มิถุนายน";
break;
case 7 :
$amo="กรกฎาคม";
break;
case 8 :
$amo="สิงหาคม";
break;
case 9 :
$amo="กันยายน";
break;
case 10 :
$amo="ตุลาคม";
break;
case 11 :
$amo="พฤศจิกายน";
break;
case 12 :
$amo="ธันวาคม";
break;
}
$ayo=$ay+543;
echo $ad." ".$amo." ".$ayo; ?>
</td>
</tr>
</table>
<? } else if($status=='2') { ?>
</div>
<tr align="right" class="under_head">
<td class="under_head">ใบลาฉบับนี้ <? echo "ไม่ผ่านการอนุมัติ"; ?></td>
</tr>
<tr align="right" class="under_head">
<td>เนื่องจาก <? echo $row_approved['app_remark']; ?></td>
</tr>
<tr class="under_head">
<td align="right" >ผู้อนุมัติ <? echo $row_approved['emp_name']; ?></td>
</tr>
<tr class="under_head">
<td align="right">ตำแหน่ง <? echo $row_approved['posi_desc']; ?></td>
</tr>
<tr align="right" class="under_head">
<td>
ลงวันที่
<? $date_app=$row_approved['app_date'];
list($ay,$am,$ad)=explode("-",$date_app);
switch ($am)
{
case 1 :
$amo="มกราคม";
break;
case 2 :
$amo="กุมภาพันธ์";
break;
case 3 :
$amo="มีนาคม";
break;
case 4 :
$amo="เมษายน";
break;
case 5 :
$amo="พฤษภาคม";
break;
case 6:
$amo="มิถุนายน";
break;
case 7 :
$amo="กรกฎาคม";
break;
case 8 :
$amo="สิงหาคม";
break;
case 9 :
$amo="กันยายน";
break;
case 10 :
$amo="ตุลาคม";
break;
case 11 :
$amo="พฤศจิกายน";
break;
case 12 :
$amo="ธันวาคม";
break;
}
$ayo=$ay+543;
echo $ad." ".$amo." ".$ayo; ?>
</td>
</table>
<? } else { ?>
<tr align="right">
<td class="under_head">ใบลาฉบับนี้ <? echo "ได้ทำการยกเลิก"; ?></td></tr></table>
<? } ?>
</table>
</div>
</body>
</html>
ตัวอย่างรายงานนะครับ ลองไปประยุกต์ดูนะครับ
|
|
|
|
|
Date :
2010-01-13 08:27:27 |
By :
eakalak28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำการ connect db วิธีการขึ้นอยู่กับฐานข้อมูลที่คุณใช้
select ข้อมูลที่ต้องการออกมาแสดงผล
ขึ้นอยู่กับว่าคุณต้่องการแสดงรายงานแบบไหน
เป็นตารางข้อมูล กราฟ หรือ อื่นๆ
|
|
|
|
|
Date :
2010-01-13 08:38:08 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|