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,038

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


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

 
Topic : 129555



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



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



Code (PHP)
001.<?php  
002.ob_start(); // ทำการเก็บค่า html นะครับ
003.require_once('tcpdf/tcpdf.php'); //ที่อยู่ของไฟล์ tcpdf.php ในเครื่องเรานะครับ
004.?>
005.<html>
006.<head>
007.<meta http-equiv="content-type" content="text/html; charset=utf-8" />
008.<script type="text/javascript">
009.  $(document).ready(function() {
010.    $("#myTable").tablesorter();
011.  });
012.</script>
013.</head>
014.<body>
015. 
016. 
017.<?php
018. 
019.$r=1;
020. 
021. 
022.$ss=explode("-",$_POST[datestart]);
023. $start = $ss[0].$ss[1].$ss[2];
024. 
025.$ee=explode("-",$_POST[dateend]);
026. $end = $ee[0].$ee[1].$ee[2];
027. 
028. 
029.ob_clean() ;
030.$html = ob_get_contents();        //เก็บค่า html ไว้ใน $html
031.$pdf=new TCPDF('L','mm','A4');
032.$pdf->SetMargins(2,2,2,2);
033.$pdf->AddPage();
034.$pdf->Image('STFG.jpg', 2,2, 290, 180);
035.$page=1;
036.$pdf->AddFont('thsarabun','','thsarabun.php');
037.$pdf->SetFont('thsarabun', '', 12);
038. 
039. 
040.ini_set('memory_limit', '30M'); //ปรับขนาดที่ต้องการจนกว่ามันจะไม่ error
041.ini_set('max_execution_time', '60'); //อันนี้แถมเผื่อเวลาโปรเซสไม่พอ
042. 
043. 
044. 
045.$servername = 'erpserver';
046.$databasename = 'MISCOM';
047.$user = 'admin';
048.$pass = 'NiTi2533';
049.$connection_string = "DRIVER={SQL Server};SERVER=$servername;DATABASE=$databasename;AutoTranslate=yes"
050.$dns = odbc_connect($connection_string,$user, $pass) or die ("​เชื่อม​ต่อ server ไม่​ได้​");
051.$strSQL = "
052. 
053.SELECT
054.dbo.OEORDH.ORDNUMBER,
055.dbo.OEORDH.CUSTOMER,
056.dbo.OEORDH.BILNAME,
057.dbo.OEORDH.PONUMBER,
058.dbo.OEORDH.TERMS,
059.dbo.OEORDH.ORDDATE,
060.dbo.OEORDD.LINENUM,
061.dbo.OEORDD.ITEM,
062.dbo.OEORDD.[DESC],
063.dbo.OEORDD.EXPDATE,
064.dbo.OEORDD.QTYORDERED,
065.dbo.OEORDD.QTYBACKORD,
066.dbo.OEORDD.QTYSHPTODT,
067.dbo.OEORDD.ORIGQTY,
068.dbo.OEORDD.CUSTITEMNO,
069.dbo.OEORDD.QTYTRUECOM,
070.dbo.ARCUS.CODESLSP1,
071.dbo.ICILOC.LOCATION,
072.dbo.ICILOC.QTYONHAND
073.FROM
074.dbo.OEORDH
075.INNER JOIN dbo.OEORDD ON dbo.OEORDH.ORDUNIQ = dbo.OEORDD.ORDUNIQ
076.INNER JOIN dbo.ARCUS ON dbo.OEORDH.CUSTOMER = dbo.ARCUS.IDCUST
077.INNER JOIN dbo.ICITEM ON dbo.OEORDD.ITEM = dbo.ICITEM.FMTITEMNO
078.INNER JOIN dbo.ICILOC ON dbo.ICITEM.ITEMNO = dbo.ICILOC.ITEMNO
079.WHERE
080.(dbo.OEORDD.EXPDATE BETWEEN '20171122' and '20171122') and
081.dbo.OEORDD.QTYBACKORD <> 0 and dbo.OEORDD.CUSTITEMNO <>'' and dbo.ICILOC.LOCATION='FG'
082.Order by dbo.OEORDH.CUSTOMER ASC
083.";
084.   
085.  $objExec = odbc_exec($dns, $strSQL) or die ("Error Execute [".$strSQL."]");
086.    while ($objResult = odbc_fetch_array($objExec))
087.    {
088.        
089.       $pdf->writeHTMLCELL(60,10,12,26.5,substr($objResult[CUSTITEMNO],0,7));
090.       
091.       $pdf->writeHTMLCell(60,10,53,26.5,"$objResult[EXPDATE]");
092.       $pdf->writeHTMLCell(60,10,80,26.5,"$objResult[ORDNUMBER]");
093.       $pdf->writeHTMLCell(60,10,120,26.5,"$objResult[CUSTOMER]");
094.       $pdf->writeHTMLCell(60,10,135,26.5,substr($objResult[BILNAME],0,20));
095.       
096. 
097. 
098.       $pdf->writeHTMLCell(20,10,193.5,26.5,"$objResult[TERMS]");
099.       $pdf->writeHTMLCell(20,10,204.5,26.5,number_format($objResult[QTYORDERED]));
100.       $pdf->writeHTMLCell(20,10,218.5,26.5,number_format($objResult[QTYSHPTODT]));
101.       $pdf->writeHTMLCell(20,10,228,26.5,number_format($objResult[QTYBACKORD]));
102.       $pdf->writeHTMLCell(20,10,239,26.5,number_format($objResult[QTYONHAND]));
103.       $pdf->writeHTMLCell(20,10,249,26.5,"$objResult[CODESLSP1]");
104. 
105.     
106.   
107. 
108. 
109. 
110.    }
111.         
112. 
113.   
114.   
115.          $pdf->Output("MyPDF/report.pdf");
116. 
117. 
118. 
119.?>
120. 
121.<script language=Javascript>top.location.href="MyPDF/report.pdf";</script>
122.</body>
123.</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 : 2643 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,590 )
บทความ ( 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,590 )
บทความ ( 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,590 )
บทความ ( 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,590 )
บทความ ( 2 )



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


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


หรือทำเป็นตัวแปร
Code (PHP)
1.$y = 26.5;
2.while(...){
3.   $pdf->writeHTMLCell(20,10,249, $y,".....");
4.   $pdf->writeHTMLCell(40,10,300, $y,".....");
5.   $y += 50;
6.}
ปล.เนื่องจากไม่เคยใช้ ก็ทดลองไปด้วยกันเลย 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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