ช่วยแนะนำหน่อยค่ะ เกี่ยวกับการดึงข้อมูลออกมาแสดงเป็น PDF แต่อยากให้ฟิลด์เรียงเป็นแนวตั้งทางด้านซ้าย และข้อมูลแสดงเรียงต่อจากฟิลด์ค่ะ
คือ อยากจะให้ข้อมูลแสดงออกมาประมาณแบบนี้ค่ะ
ลำดับที่แปลง 1 2 3 4
พื้นที่ไร่ 3 0 0 0
พื้นที่งาน 0 0 0 0
นี้คือโค๊ดรูปด้านบนคะ
Code (PHP)
<?php
define('FPDF_FONTPATH','../font/');//ชื่อ FPDF_FONTPATH เป็นตัวชี้ที่อยู่ฟอนต์ จำเป็นจะต้องประกาศและกำหนดพาธให้ถูกต้อง ปิดท้ายด้วยเครื่องหมาย slash( / )
require('fpdf.php');//ฟังก์ชันการแทรกไฟล์
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;
}
//Simple table
function BasicTable($header,$data)
{
//Header
$w=array(19,14,17,19,27,32,23,26,20);
//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],10,iconv('UTF-8', 'TIS-620', $header[$i]),1,0,'C');//เซตหัวข้อเป็นไทย
$this->Ln();
//Data
foreach ($data as $eachResult)
{
$this->Cell(19,6,$eachResult["Numarea"],1,0,'C');
$this->Cell(14,6,$eachResult["Area_farm"],1,0,'C');
$this->Cell(17,6,$eachResult["Area_job"],1,0,'C');
$this->Cell(19,6,$eachResult["Deedtype"],1,0,'C');
$this->Cell(27,6,$eachResult["No_title_deed"],1,0,'C');
$this->Cell(32,6,$eachResult["Irrigation"],1,0);
$this->Cell(23,6,$eachResult["Area_day"],1,0,'C');
$this->Cell(26,6,$eachResult["Guess_day"],1,0,'C');
$this->Cell(20,6,$eachResult["Guess_product"],1,0,'C');
$this->Ln();
}
}
function BasicTable2($data)
{
//Data
foreach ($data as $eachResult)
{//ส่วนต้นฉบับ
$this->setXY( -30, 10);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["No_insurance"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 128, 25);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Register_year"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 107, 35);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Register_date"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 79, 45);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Moonumber"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 103, 45);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Tambon_id"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 129, 45);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["District_id"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 160, 45);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Province_id"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 50, 55);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Register_persons"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(130,55);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["ID_card_number"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(65,65);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["No_household"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(85,75);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Housenumber"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(105,75);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Moo"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(123,75);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Tambon_Farmers"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(158,75);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["District_Farmers"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(43,85);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Province_Farmers"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(88,85);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Postal_code"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY(125,85);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Phone_number"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 67, 95);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Register_year"]);//แสดงข้อมูลจากฐานข้อมูล
$this->setXY( 152, 95);//เซตตำแหน่ง
$this->Cell(0,0,$eachResult["Filed_total"]);//แสดงข้อมูลจากฐานข้อมูล
$this->Ln();
}
}
}
$pdf=new PDF();
//Column titles
$header=array('ลำดับแปลง','พื้นที่่(ไร่)','พื้นที่(งาน)','เอกสารสิทธ์','เลขที่เอกสารสิทธิ์','เขตการใช้น้ำ','วันที่เพาะปลูก','วันที่จะเก็บเกี่ยว','ผลผลิตที่ได้');
//Data loading
//*** Load MySQL Data ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("phpproject");
$strSQL = "SELECT area.*,insurance.*,register.*
FROM area,insurance,register
WHERE insurance.No_insurance = '".$_GET["CusID"]."'
AND area.No_insurance=insurance.No_insurance AND insurance.No_insurance_type=1
AND insurance.ID_card_number=register.ID_card_number ";//แสดงข้อมูลออกมาเมื่อเลือกโดยที่เลขที่ขึ้นทะเบียนเท่ากันและลำดับแปลงที่รับข้อมูลมา
mysql_query("SET NAMES 'tis620' ");//เซตให้เป็นภาษาไทย
$objQuery = mysql_query($strSQL);
$resultData = array();
for ($i=0;$i<mysql_num_rows($objQuery);$i++) {
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//************************//
$pdf->AddFont('cordia','','cordia.php');//เพิ่มอักษรไทย
$pdf->AddFont('cordia','B','cordiab.php'); //เพิ่มอักษรไทย
$pdf->SetFont('cordia','',16);
//สร้างเอกสาร
$pdf->AddPage();
$pdf->setXY( -110,10);//เซตตำแหน่ง
$pdf->Rect(90,7,33,10,"D");
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ทพศ.1' ) );
$pdf->setXY( -40,10);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เลขที่' ) );
$pdf->setXY( -32,11);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '.............................' ) );
$pdf->setXY( 65, 25);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'แบบขึ้นทะเบียนเกษตรกรผู้ปลูกข้าว ปี' ) );
$pdf->setXY( 75, 35);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'วันที่รับขึ้นทะเบียน' ) );
$pdf->setXY( 30, 45);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'สถานที่รับขึ้นทะเบียน' ) );
$pdf->setXY( 70, 45);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'หมู่ที่' ) );
$pdf->setXY( 85, 45);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รหัสตำบล' ) );
$pdf->setXY( 110,45);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รหัสอำเภอ' ) );
$pdf->setXY( 140,45);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รหัสจังหวัด' ) );
$pdf->setXY( 26, 55);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '1. ข้าพเจ้าชื่อ' ) );
$pdf->setXY( 90, 55);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เลขประจำตัวประชาชน' ) );
$pdf->setXY( 30, 65);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เลขรหัสประจำบ้าน' ) );
$pdf->setXY( 26, 75);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '2. ที่อยู่ตามบัตรประชาชน' ) );
$pdf->setXY( 68,75);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'บ้านเลขที่' ) );
$pdf->setXY( 95,75);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'หมู่ที่' ) );
$pdf->setXY( 112,75);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ตำบล' ) );
$pdf->setXY( 145,75);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'อำเภอ ' ) );
$pdf->setXY( 30,85);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'จังหวัด ' ) );
$pdf->setXY( 65,85);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รหัสไปรษณีย์' ) );
$pdf->setXY( 110,85);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'โทรศัพท์' ) );
$pdf->setXY( 26,95);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '3. ข้อมูลการปลูกข้าว ปี ' ) );
$pdf->setXY( 110,95);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รวมจำนวนแปลงทั้งหมด แปลง' ) );
$pdf->setXY( 60,115);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'รายละเอียดข้อมูลแปลงปลูกทั้งหมดที่ได้ขึ้นทะเบียนไว้แล้ว' ) );
$pdf->Ln(10);
$pdf->BasicTable($header,$resultData);
$pdf->setXY( 10, 185);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ลงชื่อ ............................................' ) );
$pdf->setXY( 20, 195);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '(................................................)' ) );
$pdf->setXY( 65, 185);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เกษตรกรผู้ขอขึ้นทะเบียน' ) );
$pdf->setXY( 110, 185);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ลงชื่อ .......................................' ) );
$pdf->setXY( 115, 195);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '(................................................)' ) );
$pdf->setXY( 160, 185);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เจ้าหน้าที่รับขึ้นทะเบียน' ) );
$pdf->setXY( 22, 205 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'วันที่ ......................................' ) );
$pdf->setXY( 110, 205 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ตำแหน่ง .......................................' ) );
$pdf->setXY( 115, 215 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'วันที่......................................' ) );
$pdf->setXY( 10, 230);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ลงชื่อ ............................................' ) );
$pdf->setXY( 110, 230);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ลงชื่อ ......................................' ) );
$pdf->setXY( 65, 230);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ผู้รับรอง' ) );
$pdf->setXY( 158, 230);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'เจ้าหน้าที่ตรวจสอบข้อมูล' ) );
$pdf->setXY( 20, 240);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '(................................................)' ) );
$pdf->setXY( 115, 240);//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , '(................................................)' ) );
$pdf->setXY( 20, 250 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ตำแหน่ง .......................................' ) );
$pdf->setXY( 110, 250 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'ตำแหน่ง .......................................' ) );
$pdf->setXY( 20, 260 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'วันที่......................................' ) );
$pdf->setXY( 115, 260 );//เซตตำแหน่ง
$pdf->MultiCell( 0 , 0 , iconv( 'UTF-8','cp874' , 'วันที่......................................' ) );
$pdf->BasicTable2($resultData);
$pdf->Image("../images/img2.jpg",10,10,20);//กำหนดขนาด ระยะและความสูงรูป
$pdf->Output();
?>
ช่วยแนะนำทีนะค่ะ ^_^Tag : PHP, MySQL
Date :
2011-07-13 21:39:07
By :
yinggoy
View :
1798
Reply :
3
code ที่ให้มาพอรันแล้วเป็นยังไงครับ
Date :
2011-07-13 22:57:10
By :
avsqlz
นี่ค่ะ พอรันแล้วได้รูปนี้
คืออยากประยุกต์เป็นแบบฟิลด์หัวข้ออยู่ทางซ้ายมืออะคะ แล้้วข้อมูลเรียงต่อมาทางขวา
___________________________________
_ลำดับแปลง _|__1___|__ 2 __|____3__|___4___|
_พื้นที่ไร่_____|__3___|___0__|____0__|___0___|
_พื้นที่งาน____|__0___|__0___|___ 0__|___0___|
ทำได้ไหมค่ะ
Date :
2011-07-13 23:23:19
By :
yinggoy
Date :
2012-07-26 19:31:37
By :
birdkak
Load balance : Server 02