Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ดึงข้อมูลจากฐานข้อมูล ลงใน PDF แล้วไม่แสดงข้อมูล ?! รบกวนผู้รู้แนะนำด้วยค่ะ >/\<



 

ดึงข้อมูลจากฐานข้อมูล ลงใน PDF แล้วไม่แสดงข้อมูล ?! รบกวนผู้รู้แนะนำด้วยค่ะ >/\<

 



Topic : 119130



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger



พอดีเพิ่งหัดเขียน PHP ซึ่งต้องการจะทำรายการยืมครุภัณฑ์ภายในองค์กร โดยที่ User กดคลิกทำรายการ
ซึ่งข้อมูลที่ User ทำรายการอยูในฐานข้อมูลแล้ว แต่ขั้นตอนต่อไปคือ ต้องการให้ข้อมูลจากฐานข้อมูลมาแสดงในรูปแบบ PDF
ซึ่งศึกษาจากโค้ดของ thaicreate แล้วก็ยังทำไม่ได้ มีติด error ที่การเรียกใช้ฐานข้อมูล ไม่ทราบว่าเป็นเพราะอะไร
รบกวนผู้รู้เกี่ยวกับการใช้ PDF แนะนำด้วยค่ะ T^T

Code
<?php
ob_start();
?>

<?php require_once('Connections/durable_connect.php'); ?>

<?php
date_default_timezone_set('UTC');
define('FPDF_FONTPATH','fpdf/font/');
require('fpdf/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(';',trim($line));
return $data;
}

//Simple table
function BasicTable($header,$data)
{
//Header
$w = array(30, 25, 55, 20, 20);

//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();

//Data
foreach ($data as $row)
{
$this->Cell(30,6,$row["drb_cg_name"],1);
$this->Cell(25,6,$row["drb_cg_idshow"],1);
$this->Cell(55,6,$row["drb_pd_name"],1);
$this->Cell(20,6,$row["drb_ord_Qty"],1,0,'C');
$this->Cell(20,6,$row["drb_pd_price"],1,0,'C');
$this->Ln();
}
}

function ImprovedTable($header,$data)
{
//Column widths
$w = array(30, 25, 55, 20, 20);

//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();

//Data
if(is_array($variable))
{
foreach ($data as $row)
{
$this->Cell(30,6,$row["drb_cg_name"],1);
$this->Cell(25,6,$row["drb_cg_idshow"]&&$row["drb_pd_code"],1);
$this->Cell(55,6,$row["drb_pd_name"],1);
$this->Cell(20,6,$row["drb_ord_Qty"],1,0,'C');
$this->Cell(20,6,$row["drb_pd_price"],1,0,'C');
$this->Ln();
}
}
//Closure line
$this->Cell(array_sum($w),0,'','T');
}
}

$pdf = new PDF();

// Column headings
$header = array('drb_cg_name','drb_cg_idshow','drb_pd_code','drb_pd_name','drb_ord_Qty','drb_pd_price');

// Data loading
////////////////////////////
//*** Load MySQL Data ***//
$objDB = mysql_select_db($database_durable_connect,$durable_connect);
$strSQL = " SELECT * FROM drb_product ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$resultData = array();

for ($i=0;$i<mysql_num_rows($objQuery);$i++)
{
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//********************************************//

$pdf->SetFont('Arial','',14);

$pdf->AddPage();
$pdf->BasicTable($header,$data);

////////////////////////////////////

$pdf->AddPage();
$pdf->ImprovedTable($header,$data);

$pdf->Output();

//////////////////////////////////////////

mysql_close($durable_connect);

ob_end_flush();
?>


##จากโค้ดจะติด error ว่า " Warning: Invalid argument supplied for foreach() in C:\AppServ\www\galacyMain\gsf_pdf.php on line 38
FPDF error: Some data has already been output, can't send PDF file " เป็นเพราะอะไรค่ะ ?



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-28 16:05:27 By : hiyingzha View : 1156 Reply : 3
 

 

No. 1



โพสกระทู้ ( 3,847 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook

แบบนี้ดูง่ายกว่าน่ะ

Code (PHP)
<?php
ob_start();
?>

<?php require_once('Connections/durable_connect.php'); ?>

<?php
date_default_timezone_set('UTC');
define('FPDF_FONTPATH','fpdf/font/');
require('fpdf/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(';',trim($line));
return $data;
}

//Simple table
function BasicTable($header,$data)
{
//Header
$w = array(30, 25, 55, 20, 20);

//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();

//Data
foreach ($data as $row) 
{
$this->Cell(30,6,$row["drb_cg_name"],1);
$this->Cell(25,6,$row["drb_cg_idshow"],1);
$this->Cell(55,6,$row["drb_pd_name"],1);
$this->Cell(20,6,$row["drb_ord_Qty"],1,0,'C');
$this->Cell(20,6,$row["drb_pd_price"],1,0,'C');
$this->Ln();
}
}	

function ImprovedTable($header,$data)
{
//Column widths
$w = array(30, 25, 55, 20, 20);

//Header
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();

//Data
if(is_array($variable))
{
foreach ($data as $row) 
{
$this->Cell(30,6,$row["drb_cg_name"],1);
$this->Cell(25,6,$row["drb_cg_idshow"]&&$row["drb_pd_code"],1);
$this->Cell(55,6,$row["drb_pd_name"],1);
$this->Cell(20,6,$row["drb_ord_Qty"],1,0,'C');
$this->Cell(20,6,$row["drb_pd_price"],1,0,'C');
$this->Ln();
}
}
//Closure line
$this->Cell(array_sum($w),0,'','T');
}
}

$pdf = new PDF();

// Column headings
$header = array('drb_cg_name','drb_cg_idshow','drb_pd_code','drb_pd_name','drb_ord_Qty','drb_pd_price');

// Data loading
////////////////////////////
//*** Load MySQL Data ***//
$objDB = mysql_select_db($database_durable_connect,$durable_connect);
$strSQL = " SELECT * FROM drb_product ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$resultData = array();

for ($i=0;$i<mysql_num_rows($objQuery);$i++) 
{
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//********************************************//

$pdf->SetFont('Arial','',14);

$pdf->AddPage();
$pdf->BasicTable($header,$data);

////////////////////////////////////

$pdf->AddPage();
$pdf->ImprovedTable($header,$data);

$pdf->Output();

//////////////////////////////////////////

mysql_close($durable_connect);

ob_end_flush();
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-28 16:43:11 By : mangkunzo
 


 

No. 2



โพสกระทู้ ( 3,847 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook

ลองดู $data ใน บรรทัดที่ 38 ก่อนน่ะครับ ว่าได้ค่าอะไรออกมาหรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-28 16:44:06 By : mangkunzo
 

 

No. 3



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger

ตอบความคิดเห็นที่ : 2 เขียนโดย : mangkunzo เมื่อวันที่ 2015-09-28 16:44:06
รายละเอียดของการตอบ ::
ลองรันดูแล้วก็ขึ้น Warning: Invalid argument supplied for foreach() in C:\AppServ\www\galacyMain\gsf_pdf.php on line 38
FPDF error: Some data has already been output, can't send PDF file แบบนี้ค่ะ ไม่ทราบว่าเป็นเพราะอะไรค่ะ ?



ประวัติการแก้ไข
2015-09-29 08:57:23
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-29 08:56:10 By : hiyingzha
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ดึงข้อมูลจากฐานข้อมูล ลงใน PDF แล้วไม่แสดงข้อมูล ?! รบกวนผู้รู้แนะนำด้วยค่ะ >/\<
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่