วันนี้ ขอต่อด้วยการเขียน php เพื่อออกรายงานเป็น pdf
จาก code
1. ดึงข้อมูลจากฐานข้อมูล
2.แสดงข้อมูลสถิติ การสร้างรายชื่อ ตามปีที่เลือกออกรายงาน
จาก code
1. ดึงข้อมูลจากฐานข้อมูล
2.แสดงข้อมูลสถิติ การสร้างรายชื่อ ตามปีที่เลือกออกรายงาน
<? //require('thaipdfclass.php'); require('fpdf.php'); include("../include/class.mysqldb.php"); include("../include/config.inc.php"); function utf8_to_tis620($string) { $str = $string; $res = ""; for ($i = 1; $i < strlen($str); $i++) { if (ord($str[$i]) == 224) { $unicode = ord($str[$i+2]) & 0x3F; $unicode |= (ord($str[$i+1]) & 0x3F) << 6; $unicode |= (ord($str[$i]) & 0x0F) << 12; $res .= chr($unicode-0x0E00+0xA0); $i += 2; } else { $res .= $str[$i]; } } return $res; } function thaidate($str) { if($str == "0000-00-00") { return "ไม่กำหนด"; } $y = substr($str, 0, 4) + 543; $m = substr($str, 6, 2) + 0; $d = substr($str, 8, 2); $month = array("ม.ค.", "ก.พ.", "มี.ค", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."); return $d . " " . $month[$m-1] . " " . $y; } $footer = ''; $header = 'ตารางแสดงรายชื่อกลุ่ม'; $pdf=new FPDF();//เรียกสีfill $pdf->SetThaiFont(); $pdf->AddPage(); $pdf->SetFont('FreesiaUPC','B',16); $pdf->SetTextColor(0,0,0); foreach($_REQUEST as $key => $value) { $$key = $value; // $pdf->Ln(10); // $pdf->MultiCell(0,7,$key .' => ' . $value,0,'J'); } //---------------------------------------------------------- ดึงข้อมูลมาจากฐานข้อมูล ----------------------------------- $sql= "SELECT COUNT( account.username) AS numuser FROM account Inner Join radreply ON account.username = radreply.UserName where radreply.Attribute = 'WISPr-Session-Terminate-Time' and radreply.Value LIKE'".$_REQUEST['find']."%' order by radreply.Value ASC"; $i = 1; // กำหนดค่าตัวแปร เพื่อใช้ในการวนลูป //............................... พิมพ์ข้อมูลทุกปีหาก ไม่เลือก ............................................................. if($_REQUEST['find']==""){ // เงื่อไข ถ้าตัวแปร find ที่รับค่ามาเป็นค่าว่าง ให้..... $_REQUEST['find']="2010-".date("Y") ; //กำนดค่าตัวแปร find มีค่าเท่ากับปี 2010 ถึง ปีปัจจุบัน } $result=mysql_query($sql); while($users = mysql_fetch_object($result)) { // วนลูปตามจำนวนข้อมูลที่มีในฐานข้อมูลตาราง radacct if($i % 33 == 1) { // กำหนด ตัวหาร ด้วยจำนวนบรรทัดต่อหนึ่งหน้า คือ หน้าละ 33 บรรทัด if($i != 1) { $pdf->AddPage(); } $pdf->Image('logo.png',3,5,30); // โลโก $pdf->Image('geo_red.png',30,2,170); // รูปตึก $pdf->Image('RUTS.png',10,280,191); // รูปแถบท้ายกระดาษ $pdf->Ln(18); $pdf->SetFont('FreesiaUPC','B',16); $pdf->Cell(0,0,iconv('UTF-8','CP874','รายงานบัญชีรายชื่อที่หมดอายุการใช้งานระบบเครือข่ายไร้สาย'),0,0,'C'); $pdf->Ln(18); //..................................................................................................................................... $pdf->SetFont('FreesiaUPC','',12); $pdf->Cell(0,0,iconv('UTF-8','CP874','ตารางแสดงจำนวนบัญชีรายชื่อที่หมดอายุการใช้งานระบบเครือข่ายไร้สายเครือข่ายไร้สาย : ทั้งหมด ประจำปี ค.ศ. '.$_REQUEST['find']) ,0,0,'L'); $pdf->Ln(4); $pdf->SetFont('FreesiaUPC','B',12); $pdf->SetFillColor(220, 220, 220);//สีFiL $pdf->Cell(12,7,iconv('UTF-8','CP874','ลำดับที่'),1,0,'C','true'); $pdf->Cell(45,7,iconv('UTF-8','CP874','ปีที่สร้างบัญชีรายชื่อ'),1,0,'C','true'); $pdf->Cell(60,7,iconv('UTF-8','CP874','จำนวนบัญชีผู้ใช้งาน'),1,0,'C','true'); $pdf->Ln(7); } // row of data Table $pdf->SetFont('FreesiaUPC','',12); $pdf->Cell(12,7,$i++ . '.',1,0,'C'); $pdf->Cell(45,7,iconv('UTF-8','CP874',$_REQUEST['find']),1,0,'C'); $pdf->Cell(60,7,iconv('UTF-8','CP874',$users->numuser),1,0,'C'); $pdf->Ln(7); //(ทำการเพิ่มรอบทีละ1) } // ท้ายตาราง $pdf->Output(); // พิมพ์ ?> |