|
|
|
ผมติดปัญหาตรงเส้นกรอบสีแดงอยากให้มันไม่แสดง เพราะผมใช้คำสั่งนี้ เพื่อให้ FPDF มีเงื่อนไขว่า ถ้ามีรายการซ้ำกันหรือรายการเดียวกัน ให้เป็นตารางว่างไว้ |
|
|
|
|
|
|
|
ผมติดปัญหาตรงเส้นกรอบสีแดงอยากให้มันไม่แสดง เพราะผมใช้คำสั่งนี้ เพื่อให้ FPDF มีเงื่อนไขว่า ถ้ามีรายการซ้ำกันหรือรายการเดียวกัน ให้เป็นตารางว่างไว้
ฐานข้อมูลผมนำมา INNER JOIN กัน
เงื่อนไขว่า ถ้ามีรายการซ้ำกันหรือรายการเดียวกัน ให้เป็นตารางว่างไว้
Code (PHP)
$tmpCusID = "";
if($tmpCusID != $row["order_no_amount"]){
$pdf->Cell(38,6,iconv("UTF-8","TIS-620",$row["product"]),1,0,'C');
}
$tmpCusID = $row["order_no_amount"];
$pdf->Cell(38,6,"",1,0,'C');
ปัญหาที่เกิด คือ บรรทัดแรกตรงที่มีเส้นกรอบแดง ต้องไม่มีครับ
Code (PHP)
<?
session_start();
require_once('include/connect.php');
require_once('include/function.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php
require('fpdf17/fpdf.php');
define('FPDF_FONTPATH','font/');
class PDF extends FPDF{
//Page header
function Header()
{
<!-- -->
}
//Page footer
function Footer()
{
<!-- -->
}
}
$pdf=new PDF('L' , 'mm' , 'A4');
$pdf->AliasNbPages();
$pdf->AddPage();
$sql = "SELECT * FROM product
INNER JOIN amount ON product.order_no_product = amount.order_no_amount
WHERE amount.order_no_amount = '".$_SESSION['s_Order_no']."'
ORDER BY amount.id_amount ASC ";
$result = mysql_query($sql)or die(mysql_error());
$num = mysql_num_rows($result);
$tmpCusID = "";
while($row = mysql_fetch_array($result))
{
$pdf->AddFont('angsa','','angsa.php');
$pdf->AddFont('angsana','','angsa.php');
$pdf->AddFont('angsana','B','angsab.php');
$pdf->AddFont('angsana','I','angsai.php');
$pdf->AddFont('angsana','BI','angsaz.php');
$pdf->SetAutoPageBreak(true,38); //กำหนดขนาดอัตโนมัติ
$pdf->SetFont('angsana','',13);
$pdf->SetX(4);
if($tmpCusID != $row["order_no_amount"]){
$pdf->Cell(38,6,iconv("UTF-8","TIS-620",$row["product"]),1,0,'C');
}
$tmpCusID = $row["order_no_amount"];
$pdf->Cell(38,6,"",1,0,'C');
$pdf->Cell(25,6,iconv("UTF-8","TIS-620",$row["brand"]),1,0,'C');
$pdf->Cell(17,6,iconv("UTF-8","TIS-620",$row["pack"]),1,0,'C');
$pdf->Cell(17,6,iconv("UTF-8","TIS-620",$row["size"]),1,0,'C');
$pdf->Cell(14,6,iconv("UTF-8","TIS-620",$row["ref_per"]),1,0,'C');
$pdf->Cell(14,6,iconv("UTF-8","TIS-620",$row["coler"]),1,0,'C');
$pdf->Cell(14,6,iconv("UTF-8","TIS-620",$row["number"]),1,0,'C');
$pdf->Cell(35,6,iconv("UTF-8","TIS-620",$row["customer"]),1,0,'C');
$pdf->Cell(14,6,iconv("UTF-8","TIS-620",$row["co"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_5"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_10"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_15"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_20"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_25"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_30"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_35"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_40"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_45"]),1,0,'C');
$pdf->Cell(10,6,iconv("UTF-8","TIS-620",$row["number_50"]),1,0,'C');
$pdf->Ln();
}
$vowels = array("/");
$link = str_replace($vowels, "", trim($_REQUEST['Order_no']));
$linkk = $link.'_'.time();
$pdf->Output("PDF_Report/".$linkk.".pdf","F");
?>
font size="5">PDF Click <a href="PDF_Report/<? echo $link; ?>.pdf">here</a> to Export</font>
</body>
</html>
ขอบคุณล่วงหน้าเลยนะครับ
Tag : PHP, CakePHP, Crystal Report, Reporting Service, Report Others
|
ประวัติการแก้ไข 2013-04-24 10:06:27 2013-04-24 10:09:44
|
|
|
|
|
Date :
2013-04-24 10:05:24 |
By :
nattkhanesha |
View :
1414 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้ใช้ TCPDF จะใช้งานง่ายกว่านะครับ เพราะสามารถกำหนดรูปแบบด้วยภาษา HTML ได้
ส่วนตามโค้ดด้านบนลองแก้เป็น
Code (PHP)
$tmpCusID = "";
if($tmpCusID != $row["order_no_amount"]){
$pdf->Cell(38,6,iconv("UTF-8","TIS-620",$row["product"]),1,0,'C');
}else{
$tmpCusID = $row["order_no_amount"];
$pdf->Cell(38,6,"",1,0,'C');
}
แล้วคือ if($tmpCusID != $row["order_no_amount"]) เช็คว่าว่าถ้าไม่เท่ากับค่าว่าง ให้เข้าไปสร้าง cell (แล้วทำไมไม่เช็คไปเลยว่า $row["order_no_amount"]!="")
แล้ว $pdf->Cell(38,6,"",1,0,'C'); จะสร้างเซลล์เปล่าทำไมหว่า
ลองไล่โค้ดดูดีๆ ครับ ว่าได้กำหนดค่าเริ่มต้นก่อนเช็คเงื่อนไขแล้วหรือยัง หรือใส่ if..else ครบตามเงื่อนไขรึเปล่า เพราะบางทีพอไม่ใส่ else ให้มันก็จะทำงานตลอด ลองดูดีๆครับ
|
ประวัติการแก้ไข 2013-04-25 10:10:45
|
|
|
|
Date :
2013-04-25 10:10:05 |
By :
ทองมี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วไม่ได้ครับ ขอบคุณ
|
|
|
|
|
Date :
2013-04-25 11:26:41 |
By :
nattkhanesha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|