|
|
|
PHP export PDF ไม่แสดงข้อมูล รบกวนแนะนำหน่อยครับ ว่าใช้วิธีไหนดี |
|
|
|
|
|
|
|
SQL ถูกนะครับ ลิงค์จากอีกหน้ามา
จากรูปด้านบน ผมใช้โค้ดตามนี้ครับ
Code (PHP)
<?php
define('FPDF_FONTPATH','font/');
require('../assets/pdf/fpdf.php');
include '../../DBEngine.php';
mysql_query("SET NAMES UTF8");
$reserve_start = $_GET['reserve_start'];
$reserve_end = $_GET['reserve_end'];
$strSQL ="select * from tb_reserve_detail
left join tb_reserve on (reserve=reserve_id)
left join tb_hall on (reserve_detail_hall=hallid)
left join tb_member on (tb_reserve.member=tb_member.member)
where reserve_detail_start between '$reserve_start' and '$reserve_end' order by reserve_detail_id DESC";
$objQuery = mysql_query($strSQL);
function DateThai($x) {
$thai_m = array("มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม");
$date_array = explode("-", $x);
$y = $date_array[0];
$m = $date_array[1] - 1;
$d = (int) $date_array[2];
$m = $thai_m[$m];
$y = $y + 543;
$displaydate = "$d $m $y";
return $displaydate;
}
function MonthThai($value) {
$month = $value;
switch($month) {
case 01 : $month = "มกราคม"; break;
case 02 : $month = "กุมภาพันธ์"; break;
case 03 : $month = "มีนาคม"; break;
case 04 : $month = "เมษายน"; break;
case 05 : $month = "พฤศภาคม"; break;
case 06 : $month = "มิถุนายน"; break;
case 07 : $month = "กรกฏาคม"; break;
case 08 : $month = "สิงหาคม"; break;
case 09 : $month = "กันยายน"; break;
case 10 : $month = "ตุลาคม"; break;
case 11 : $month = "พฤศจิกายน"; break;
default : $month = "ธันวาคม";
}
return $month;
}
function DateTime($value) {
$date = substr($value,0,10);
$time = substr($value,10,19);
echo DateThai($date);
$val = $time." น.";
return $val;
}
function booking_status($value) {
switch($value) {
case 1 : return '<font color="#339900">อนุมัติ</font>'; break;
case 2 : return '<font color="#CC6600">ไม่อนุมัติ</font>'; break;
case 3 : return '<font color="#CC6600">ยกเลิกการจอง</font>'; break;
default : return '<font color="#CC6600">รอการตรวจสอบ</font>'; break;
}
}
class PDF extends FPDF
{
// Page footer
function Footer()
{
// Position at 1.5 cm from bottom
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Page number
$this->Cell(0,10,'Page No. '.$this->PageNo(),0,0,'L');
}
/* pdf */
function LoadData($file) {
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
//Simple table
function BasicTable($header,$data) {
//Header
$w=array(95,95);
//Header
for($i=0;$i<count($header);$i++)
//$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Cell($w[$i],7,iconv('UTF-8', 'TIS-620', $header[$i]),1,0,'L');
$this->Ln();
//Data
foreach ($data as $eachResult)
{
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',"
<strong>".$eachResult['reserve_title']."</strong><br />
<span style='font-size: 14px;'> ".$eachResult['reserve_detail']." <br />
โดย : ".$eachResult['member_fristname']." ".$eachResult['member_lastname']."<br />
หมายเหตุ : ".$eachResult['reserve_remark'] ),1,0,'C');
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',
"<strong>".$eachResult['hall_name']."</strong><br /><span style='font-size: 14px;'>ตั้งแต่วันที่ : ".DateThai($eachResult['reserve_detail_start'])." ".$eachResult['reserve_detail_strtime']." น.<br /> สิ้นสุดวันที่ : ".DateThai($eachResult['reserve_detail_end'])." ".$eachResult['reserve_detail_endtime']." น.</span><br />
สถานะการจอง : ".booking_status($eachResult['reserve_detail_status'])) ,1,0,'C');
$this->Ln();
}
}
//Better table
function ImprovedTable($header,$data)
{
//Column widths
$w=array(95,95);
//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'L');
//$this->Cell($w[$i],7,iconv('UTF-8', 'cp874', $header[$i]),1,0,'C');
$this->Ln();
//Data
foreach ($data as $eachResult)
{
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',"<strong>".$eachResult['reserve_title']."</strong><br /><span style='font-size: 14px;'> ".$eachResult['reserve_detail']." <br />
โดย : ".$eachResult['member_fristname']." ".$eachResult['member_lastname']."<br />
หมายเหตุ : ".$eachResult['reserve_remark'] ),1,0,'L');
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',"<strong>".$eachResult['hall_name']."</strong><br /><span style='font-size: 14px;'>ตั้งแต่วันที่ : ".DateThai($eachResult['reserve_detail_start'])." ".$eachResult['reserve_detail_strtime']." น.<br /> สิ้นสุดวันที่ : ".DateThai($eachResult['reserve_detail_end'])." ".$eachResult['reserve_detail_endtime']." น.</span><span style='font-size: 14px;'><br />
สถานะการจอง : ".booking_status($eachResult['reserve_detail_status'])),1,0,'L');
$this->Ln();
;
}
//Closure line
$this->Cell(array_sum($w),0,'','T');
}
//Colored table
function FancyTable($header,$data)
{
//Colors, line width and bold font
$this->SetFillColor(47,49,49);
$this->SetTextColor(255);
$this->SetDrawColor(0,0,0);
$this->SetLineWidth(.3);
$this->SetFont('angsa','',12);
//Header
$w=array(95,95);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'L',true);
//$this->Cell($w[$i],7,iconv('UTF-8', 'cp874', $header[$i]),1,0,'C');
$this->Ln();
//Color and font restoration
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('angsa','',12);
//Data
$fill=false;
foreach($data as $row)
{
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',"<strong>".$eachResult['reserve_title']."</strong><br /><span style='font-size: 14px;'> ".$eachResult['reserve_detail']." <br />
โดย : ".$eachResult['member_fristname']." ".$eachResult['member_lastname']."<br />
หมายเหตุ : ".$eachResult['reserve_remark']),'LR',0,'L',$fill);
$this->Cell(95,17,iconv( 'UTF-8','TIS-620',"<strong>".$eachResult['hall_name']."</strong><br /><span style='font-size: 14px;'>ตั้งแต่วันที่ : ".DateThai($eachResult['reserve_detail_start'])." ".$eachResult['reserve_detail_strtime']." น.<br /> สิ้นสุดวันที่ : ".DateThai($eachResult['reserve_detail_end'])." ".$eachResult['reserve_detail_endtime']." น.</span><span style='font-size: 14px;'><br />
สถานะการจอง : ".booking_status($eachResult['reserve_detail_status']) ),'LR',0,'L',$fill);
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
//Column titles
$pdf->AddFont('angsa','','angsa.php');
$pdf->SetFont('angsa','',12);
//Column titles
$title = iconv( 'UTF-8','TIS-620','หัวเรื่องการจองศาลาการเปรียญ');
$booking = iconv( 'UTF-8','TIS-620',' ศาลาการเปรียญ / ช่วงเวลาการจอง');
$header=array("$title","$booking" );
//Data loading
//*** Load MySQL Data ***//
//require("ThaiPDF.class.php");
$resultData = array();
for ($i=0;$i<mysql_num_rows($objQuery);$i++) {
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//************************//
$pdf->AddFont('angsana','','angsa.php');
$pdf->AddFont('angsana','B','angsab.php');
$pdf->AddFont('angsana','I','angsai.php');
$pdf->AddFont('angsana','BI','angsaz.php');
$pdf->SetFont('angsana','',12);
//$pdf->SetFont('Arial','',10);
/*** Table 1
$pdf->AddPage();
$pdf->Image('logo.png',80,8,33);
$pdf->Ln(35);
$pdf->BasicTable($header,$resultData);
//*** Table 2
$pdf->AddPage();
$pdf->Image('logo.png',80,8,33);
$pdf->Ln(35);
$pdf->ImprovedTable($header,$resultData); ***/
//*** Table 3 ***//
$pdf->AddPage();
$pdf->SetMargins(10,10,10,10);
$pdf->SetFont('angsa','',20);
$pdf->cell(0,0,iconv( 'UTF-8','TIS-620',"รายงานการจองศาลาการเปรียญ : ".DateThai($reserve_start)." - ".DateThai($reserve_end)),0,1,"L");
$pdf->Ln(7);
$pdf->FancyTable($header,$resultData);
$pdf->Output();
?>
ผมไม่แน่ใจว่า กำหนดให้แสดงข้อความใน cell ยังไง เลยลองทำดู ผมเคยแต่แสดงค่าตัวแปรที่ได้จากฐานข้อมูลตรงๆ เลยมันแสดงได้ แต่
ต้องการให้มีเนื้อหาประกอบด้วย มันไม่ยอมแสดง รบกวนขั้นเทพแนะนำหน่อยครับ ^^
อันนี้คือบนเว็บที่ยังไม่ได้ออกมา PDF
ถ้าจะให้ออกมาประมาณนี้สามารถทำได้ไหมครับ
Tag : PHP
|
ประวัติการแก้ไข 2014-10-01 02:04:56 2014-10-01 02:28:54
|
|
|
|
|
Date :
2014-10-01 02:04:15 |
By :
coolkidz |
View :
916 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็น Form HTML แบบนี้ไม่ลองดูพวก TCPDF ล่ะครับ สามารถแปลงจาก HTML เป็น PDF ได้เลย
|
|
|
|
|
Date :
2014-10-01 09:51:24 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกตัวหนึ่งครับ mPDF สามารถ Convert จาก HTML เป็น PDF ได้เลย
|
|
|
|
|
Date :
2014-10-01 09:52:04 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว๊าววว ขอบคุณครับท่าน TC Admin
|
|
|
|
|
Date :
2014-10-01 18:44:50 |
By :
coolkidz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|