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 > ผมใช้ tcpdf แล้วเวลาดึงข้อมูลมาจาก Database แล้วมันทับซ้อนกัน มีวิธีแก้ยังไงครับ Code อยู่ด้านล่าง



 

ผมใช้ tcpdf แล้วเวลาดึงข้อมูลมาจาก Database แล้วมันทับซ้อนกัน มีวิธีแก้ยังไงครับ Code อยู่ด้านล่าง

 



Topic : 129555



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



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




Code (PHP)
<?php   
ob_start(); // ทำการเก็บค่า html นะครับ
require_once('tcpdf/tcpdf.php'); //ที่อยู่ของไฟล์ tcpdf.php ในเครื่องเรานะครับ
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
  $(document).ready(function() { 
    $("#myTable").tablesorter(); 
  }); 
</script>
</head>
<body>


<?php

$r=1;


$ss=explode("-",$_POST[datestart]);
 $start = $ss[0].$ss[1].$ss[2];

$ee=explode("-",$_POST[dateend]);
 $end = $ee[0].$ee[1].$ee[2];


ob_clean() ;
$html = ob_get_contents();        //เก็บค่า html ไว้ใน $html 
$pdf=new TCPDF('L','mm','A4');
$pdf->SetMargins(2,2,2,2);
$pdf->AddPage();
$pdf->Image('STFG.jpg', 2,2, 290, 180);
$page=1;
$pdf->AddFont('thsarabun','','thsarabun.php');
$pdf->SetFont('thsarabun', '', 12);


ini_set('memory_limit', '30M'); //ปรับขนาดที่ต้องการจนกว่ามันจะไม่ error
ini_set('max_execution_time', '60'); //อันนี้แถมเผื่อเวลาโปรเซสไม่พอ



$servername = 'erpserver'; 
$databasename = 'MISCOM';
$user = 'admin'; 
$pass = 'NiTi2533';
$connection_string = "DRIVER={SQL Server};SERVER=$servername;DATABASE=$databasename;AutoTranslate=yes";  
$dns = odbc_connect($connection_string,$user, $pass) or die ("​เชื่อม​ต่อ server ไม่​ได้​");
$strSQL = "

SELECT
dbo.OEORDH.ORDNUMBER,
dbo.OEORDH.CUSTOMER,
dbo.OEORDH.BILNAME,
dbo.OEORDH.PONUMBER,
dbo.OEORDH.TERMS,
dbo.OEORDH.ORDDATE,
dbo.OEORDD.LINENUM,
dbo.OEORDD.ITEM,
dbo.OEORDD.[DESC],
dbo.OEORDD.EXPDATE,
dbo.OEORDD.QTYORDERED,
dbo.OEORDD.QTYBACKORD,
dbo.OEORDD.QTYSHPTODT,
dbo.OEORDD.ORIGQTY,
dbo.OEORDD.CUSTITEMNO,
dbo.OEORDD.QTYTRUECOM,
dbo.ARCUS.CODESLSP1,
dbo.ICILOC.LOCATION,
dbo.ICILOC.QTYONHAND
FROM
dbo.OEORDH
INNER JOIN dbo.OEORDD ON dbo.OEORDH.ORDUNIQ = dbo.OEORDD.ORDUNIQ
INNER JOIN dbo.ARCUS ON dbo.OEORDH.CUSTOMER = dbo.ARCUS.IDCUST
INNER JOIN dbo.ICITEM ON dbo.OEORDD.ITEM = dbo.ICITEM.FMTITEMNO
INNER JOIN dbo.ICILOC ON dbo.ICITEM.ITEMNO = dbo.ICILOC.ITEMNO
WHERE
(dbo.OEORDD.EXPDATE BETWEEN '20171122' and '20171122') and
dbo.OEORDD.QTYBACKORD <> 0 and dbo.OEORDD.CUSTITEMNO <>'' and dbo.ICILOC.LOCATION='FG'
Order by dbo.OEORDH.CUSTOMER ASC
";
  
  $objExec = odbc_exec($dns, $strSQL) or die ("Error Execute [".$strSQL."]");
    while ($objResult = odbc_fetch_array($objExec))
    {
       
       $pdf->writeHTMLCELL(60,10,12,26.5,substr($objResult[CUSTITEMNO],0,7));
      
       $pdf->writeHTMLCell(60,10,53,26.5,"$objResult[EXPDATE]");
       $pdf->writeHTMLCell(60,10,80,26.5,"$objResult[ORDNUMBER]");
       $pdf->writeHTMLCell(60,10,120,26.5,"$objResult[CUSTOMER]");
       $pdf->writeHTMLCell(60,10,135,26.5,substr($objResult[BILNAME],0,20));
      


       $pdf->writeHTMLCell(20,10,193.5,26.5,"$objResult[TERMS]"); 
       $pdf->writeHTMLCell(20,10,204.5,26.5,number_format($objResult[QTYORDERED]));
       $pdf->writeHTMLCell(20,10,218.5,26.5,number_format($objResult[QTYSHPTODT]));
       $pdf->writeHTMLCell(20,10,228,26.5,number_format($objResult[QTYBACKORD]));
       $pdf->writeHTMLCell(20,10,239,26.5,number_format($objResult[QTYONHAND]));
       $pdf->writeHTMLCell(20,10,249,26.5,"$objResult[CODESLSP1]"); 

    
  



    }
        

  
  
          $pdf->Output("MyPDF/report.pdf"); 



?>

<script language=Javascript>top.location.href="MyPDF/report.pdf";</script>
</body>
</html>




Tag : - - - -









ประวัติการแก้ไข
2017-11-22 09:21:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-11-22 09:14:46 By : uthenrock View : 2547 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


อธิบายอะไรที่มันทับซ้อนกันด้วยครับ

ส่วนใหญ่การป้องกันการทับซ้อนก็จะใช้ distinct หรือ group by






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-22 10:09:29 By : Chaidhanan
 


 

No. 2



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



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


อ๋อขอโทษทีครับข้อมูลที่ดึงออกมาจาก Database มันทับกันอยู่ครับ คือผมอยากให้มันเรียงลงมาตามลำดับอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-22 10:28:22 By : uthenrock
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


เรื่อง pdf คงต้องรอท่านอื่นแล้วละครับ ผมไม่เคยใช้

แค่คิดว่าผู้ใช้สามารถใช้โปรแกรมอื่นๆ แปลง html เป็นไฟล์ pdf ได้เองอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-22 10:52:48 By : Chaidhanan
 


 

No. 4



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



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


ลองหาอ่านดูแล้วยังไม่เจอเลยครับถ้าเป็นข้อความปกติมันทำได้ แต่อันนี้ดึงข้อมูลมาจาก Database แล้วข้อมูลมันไม่เรียงลงมาตามลำดับมันซ้อนกันอยู่แค่บรรทัดแรก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 10:11:20 By : uthenrock
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


$pdf->writeHTMLCELL(60,10,12,26.5,substr($objResult[CUSTITEMNO],0,7));

สีแดง ตำแหน่ง y ต้องมีการเปลี่ยนแปลงหรือเปล่า

http://www.rubydoc.info/gems/rfpdf/1.17.1/TCPDF%3AwriteHTMLCell


ประวัติการแก้ไข
2017-11-23 10:43:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 10:41:54 By : Chaidhanan
 


 

No. 6



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



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


อ๋อตรงนั้นมันเป็นการปรับให้ข้อมูลที่ดึงมาแต่ละอันอยู่บรรทัดเดียวกันครับ แต่ที่ผมยังแก้ไม่ได้คือทำยังไงให้ข้อมูลที่ซ้อนอยู่ข้างหลังลงมาอยู่บรรทัดใหม่ 5555 หาเท่าไหร่ก็ไม่เจอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 11:06:31 By : uthenrock
 


 

No. 7



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



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


$pdf->writeHTMLCELL(60,10,12,26.5,substr($objResult[CUSTITEMNO],0,7));
$pdf->writeHTMLCell(60,10,53,26.5,"$objResult[EXPDATE]");
$pdf->writeHTMLCell(60,10,80,26.5,"$objResult[ORDNUMBER]");
$pdf->writeHTMLCell(60,10,120,26.5,"$objResult[CUSTOMER]");
$pdf->writeHTMLCell(60,10,135,26.5,substr($objResult[BILNAME],0,20));
$pdf->writeHTMLCell(20,10,193.5,26.5,"$objResult[TERMS]");
$pdf->writeHTMLCell(20,10,204.5,26.5,number_format($objResult[QTYORDERED]));
$pdf->writeHTMLCell(20,10,218.5,26.5,number_format($objResult[QTYSHPTODT]));
$pdf->writeHTMLCell(20,10,228,26.5,number_format($objResult[QTYBACKORD]));
$pdf->writeHTMLCell(20,10,239,26.5,number_format($objResult[QTYONHAND]));
$pdf->writeHTMLCell(20,10,249,26.5,"$objResult[CODESLSP1]");


ตรงค่า y 26.5 มันก็คือขยับบรรทัดลงมานั้นแหละแต่ข้อมูลที่ซ้อนกันอยู่ข้างหลังมันก็ขยับลงมาตามครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 11:12:52 By : uthenrock
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ลอง ใส่ <br /> บันทัดสุดท้ายดู
Code (PHP)
$pdf->writeHTMLCell(20,10,249,26.5,"$objResult[CODESLSP1]".'<br />'); 


หรือทำเป็นตัวแปร
Code (PHP)
$y = 26.5;
while(...){
   $pdf->writeHTMLCell(20,10,249, $y,"....."); 
   $pdf->writeHTMLCell(40,10,300, $y,"....."); 
   $y += 50;
}

ปล.เนื่องจากไม่เคยใช้ ก็ทดลองไปด้วยกันเลย 5555


ประวัติการแก้ไข
2017-11-23 11:47:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 11:43:36 By : Chaidhanan
 


 

No. 9



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



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


ได้แล้วครับขอบคุณมากเลยครับ ใส่ $y เข้าไป แล้วก็ใส่ค่าความห่างของแต่ละบรรทัดขอบคุณมากเลยครับ คุณ Chaidhanan
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-23 14:31:50 By : uthenrock
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผมใช้ tcpdf แล้วเวลาดึงข้อมูลมาจาก Database แล้วมันทับซ้อนกัน มีวิธีแก้ยังไงครับ Code อยู่ด้านล่าง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่