|
|
|
รายงาน FPDF กำหนดชื่อคอลัมภ์และให้ข้อมูลใน Table เรียงกันได้อย่างไรไม่ให้ทับซ้อน |
|
|
|
|
|
|
|
ผมได้ code นี้มาแต่ข้อความมันซ้ำกัน และชื่อคอลัมภ์ก็ไม่ขึ้นครับ จะแก้อย่างไรโปรดแนะนำด้วยครับ
<?php
define('FPDF_FONTPATH','font/');
include 'Dbconnect.php';
require('fpdf/fpdf.php');
$sql ="SELECT CustID FROM Cust";
$result = mysqli_query($conn, $sql);
class PDF extends FPDF
{
//Load data
function LoadData($file)
{
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
//Colored table
function FancyTable($header,$data)
{
//Colors, line width and bold font
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//Header
$w=array(40,35,40,45);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
$this->Ln();
//Color and font restoration
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('');
//Data
$fill=0;
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
//Column titles
$header=array('รหัสลูกค้า');
$pdf->AddPage();
$pdf->AddFont('angsana','','THSarabun.php');
$pdf->SetFont('angsana','',14);
while($row = mysqli_fetch_array($result))
{
$code =$row['CustID'];
//$pdf->FancyTable($header,$data);
$pdf->setXY( 10, 10 );
$pdf->MultiCell( 0 , 1 , iconv( 'UTF-8','cp874' , $code ), 0 , 1 , C );
//$pdf->Cell( 0 , 5 , iconv( 'UTF-8','cp874' , $code ), 0 , 1 , C );
//$pdf->Output();
mysqli_close();
}
$pdf->Output();
?>
Tag : PHP, MySQL, PDF
|
|
|
|
|
|
Date :
2022-12-21 16:20:23 |
By :
treethep |
View :
510 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำถามลักษณะนี้ต้องมีภาพประกอบด้วย
"ข้อความมันซ้ำ"
เป็นไปได้ทั้งตอนเข้าลูปข้อมูลจาก DB หรืออาจเป็นเพราะการกำหนดค่าต่างๆ ของ FPDF เอง
"ชื่อคอลัมภ์ก็ไม่ขึ้น"
เดาว่าน่าจะใส่ parameter ไม่ถูกต้อง
ลองเช็คเอกสารการใช้งานประกอบ
http://www.fpdf.org/en/doc/index.php
|
|
|
|
|
Date :
2022-12-22 08:55:38 |
By :
009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2022-12-22 10:47:54 |
By :
treethep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$start_pointer = 70;
$dot_per_line = 20;
$target_detail_height = 2000;
$pdf->FancyTable($header,$data);
$y_pointer=$start_pointer; // ตัวแปรที่ต้องถูกกำหนด ตำแหน่งแรกของ detail
while($row = mysqli_fetch_array($result))
{
$code =$row['CustID'];
$pdf->setXY( 10, $y_pointer ); // ปรับ เลข 10 ตัวหลัง ให้ใช้ตัวแปร แทน
$pdf->MultiCell( 0 , 1 , iconv( 'UTF-8','cp874' , $code ), 0 , 1 , C );
$y_pointer += $dot_per_line; // increse $y_pointer;
if( $y_pointer > $target_detail_height ){
//เพิ่มหน้า ใหม่ อาจจะต้อง print หัว ก่อน แต่ถ้ามีการกำหนด auto header ไว้แล้ว ก็ผ่านไป
$y_pointer = $start_pointer; // กำหนดตำแหน่งเริ่มต้น เมื่อขึ้นหน้าใหม่
}
}
//ย้ายไปไว้ นอกลูป
$pdf->Output();
mysqli_close();
|
ประวัติการแก้ไข 2022-12-22 11:07:11
|
|
|
|
Date :
2022-12-22 11:06:03 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2022-12-23 08:45:09 |
By :
treethep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|