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 > รบกวนสอบถามครับ ใช้ mpdf แล้วแสดงผลได้ไม่ครบเหมือนกับรันไฟล์ PHP ปกติครับ



 

รบกวนสอบถามครับ ใช้ mpdf แล้วแสดงผลได้ไม่ครบเหมือนกับรันไฟล์ PHP ปกติครับ

 



Topic : 133634



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



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



คือผมใช้ตัว mpdf ในการทำรีพอร์ทจากไฟล์ PHP ครับ โดยข้อมูลนั้นทำการ Query มาจาก MySQL
ผมลองรันไฟล์ PHP ข้อมูลขึ้นครบตามที่ต้องการเลยครับ (ตามรูปแรกครับ) แต่พอนำ mpdf เข้ามาใช้ ข้อมูลดันขึ้นไม่ครบซะงั้น

ท่านใดพอจะทราบบ้างครับ ว่าผมเขียนโค้ดผิดในส่วนตรงไหน เป็นไปได้ไหมครับว่าเพราะผมทำการรันไฟล์ใน Function ของ PHP
ยังไงก็ต้องขอขอบคุณล่วงหน้าเลยนะครับ นั่งงมมันมา 2 วันแล้วครับ


1.รูปที่รันจากไฟล์ PHP ปกติ



2.รูปหลังจากที่ใช้ mpdf



ส่วนนี้เป็นโค้ดครับ

Code (PHP)
<?php
	require_once __DIR__ . '/vendor/autoload.php';
    require ('connect.php');
    
    

    function DateThai($datetime){

        $strYear = date("Y",strtotime($datetime))+543;
        $strMonth= date("m",strtotime($datetime));
        $strDay= date("d",strtotime($datetime));
        return "$strDay/$strMonth/$strYear";
    }


    //ท้องที่ 0

function printpig($pigId,$con) {
    
    // global $sql,$result,$style,$result2,$head,$data,$content_th,$end,$content_header;
    
    $sql = "SELECT detail_event.pig_id,event_name,event_recorddate,pig_recorddate,pig_breeder 
    FROM detail_event
    INNER JOIN event_list ON (detail_event.event_id = event_list.event_id) 
    LEFT JOIN profile_pig ON (detail_event.pig_id = profile_pig.pig_id) 
    LEFT JOIN farm ON (profile_pig.farm_id = farm.farm_id) 
    WHERE detail_event.event_id = 1
    AND profile_pig.pig_id = '$pigId' ";

    
    $result = mysqli_query($con, $sql);

                if (mysqli_num_rows($result) > 0) {
                    while($beforerow = mysqli_fetch_row($result)) {
                        $pig_recorddate = $beforerow[3]; 
                    }
                    $content_th .= '
                    <table border="1" width="100%" style="border-collapse: collapse;font-size:16pt;">
                    <thead>
                <tr>
                    <th>ท้องที่</th>
                    <th width="20%">วันที่</th>
                    <th width="30%">เหตุการณ์</th>
                    <th width="50%">ข้อมูลเกี่ยวกับเหตุการณ์</th>
                </tr>
                <tr>
                    <td rowspan="10" align="center">0</td>
                    <td align="center">'.DateThai($pig_recorddate).'</td>
                    <td align="center">เข้าฝูง</td>
                    <td align="center">ท้องที่: 0 มาจาก:</td>
                </tr>
                </thead>
                <tbody>';
                
                $result2 = mysqli_query($con, $sql);
                while($row = mysqli_fetch_array($result2)) {  
                    $content_th .=
                    '<tr>
<td></td>
                        <td align="center">'.DateThai($row['event_recorddate']).'</td>
                        <td align="center">'.$row['event_name'].'</td>
                        <td align="center">พ่อพันธุ์ : '.$row['pig_breeder'].'</td>
                    </tr>
                '; 
                
                
             }
          
        }

            $sql2 = "SELECT event_name,pregnant.pig_id,pregnant.event_recorddate,detail_event.event_recorddate AS DATE,pig_alive,pig_die,pig_seedlings,pig_breeder,pig_allweight,pregnant.pig_amount_pregnant,pig_amountofwean,result_pregnant,disease_name,note,pig_resultofexclude,pig_reasonofexclude 
            FROM pregnant 
            inner join detail_event on (pregnant.pig_id = detail_event.pig_id) 
            AND (pregnant.pig_amount_pregnant = detail_event.pig_amount_pregnant) 
            inner join event_list ON (detail_event.event_id = event_list.event_id)
            WHERE pregnant.pig_id = '$pigId'  
            ORDER BY pregnant.`pig_id` ASC, pregnant.pig_amount_pregnant ASC ";
        
            $result3 = mysqli_query($con, $sql2);
            $content_header = "";
            
                if (mysqli_num_rows($result3) > 0) {
                    $pregnant = 0;
   
                    while($row2 = mysqli_fetch_array($result3)) {
                        $fetch_pregnant = $row2['pig_amount_pregnant'];
                        

                        if($pregnant != $fetch_pregnant){
                            if($content_header != ""){
                                $content_header .= '</tbody></table>';
                            }
                            
                            $pregnant = $fetch_pregnant;
                            $content_header .= '
                            <table border="1" width="100%" style="border-collapse: collapse;font-size:16pt;">
                            <thead>
                                <tr>
                                    <th>ท้องที่</th>
                                    <th width="20%">วันที่</th>
                                    <th width="30%">เหตุการณ์</th>
                                    <th width="50%">ข้อมูลเกี่ยวกับเหตุการณ์</th>
                                </tr>
                            </thead>
                            <tbody>
                            ';
                        }
                        
                        $content_header .= '<tr>
                            <td align="center">'.$row2['pig_amount_pregnant'].'</td>
                            <td align="center">'.DateThai($row2['event_recorddate']).'</td>';
                            $content_header .= '<td align="center">' . $row2["event_name"] . "</td>";
                        if ($row2["event_name"]=="คลอด"){
                            $content_header .= '<td align="center">เป็น : '.$row2['pig_alive'].' ตาย : '.$row2['pig_die'].' มัมมี่ : '.$row2['pig_seedlings'].' รวม : '.$row2['pig_allweight'].'</td>';
                        } 
                        else if($row2["event_name"]=="ผสมพันธุ์"){
                            $content_header .= '<td align="center">พ่อพันธุ์ : ' . $row2["pig_breeder"] .'</td>';
                        }
                        else if($row2["event_name"]=="หย่านม"){
                            $content_header .= '<td align="center">จำนวน : '. $row2["pig_amountofwean"] . ' นน.รวม: '.$row2['pig_allweight']. '</td>';
                        }
                        else if($row2["event_name"]=="ตรวจท้อง"){
                            $content_header .= '<td align="center">ผลการตรวจ : '. $row2["result_pregnant"] . '</td>';
                        }
                        else if($row2["event_name"]=="ป่วยเป็นโรค"){
                            $content_header .= '<td align="center">อาการของโรค : '. $row2["disease_name"] . '</td>';
                        }
                        else if($row2["event_name"]=="ลูกหมูตาย"){
                            $content_header .= '<td align="center">จำนวน : '. $row2["pig_die"] . ' สาเหตุ: ' . $row2["note"]. '</td>';
                        }
                        else if($row2["event_name"]=="ฝากเลี้ยง"){
                            $content_header .= '<td align="center">ผลการตรวจ : '. $row2["result_pregnant"] . '</td>';
                        }
                        else if($row2["event_name"]=="คัดทิ้ง"){
                            $content_header .= '<td align="center">]ลักษณะ : '. $row2["pig_resultofexclude"] . ' สาเหตุ: '.$row2["pig_reasonofexclude"]. '</td>';
                        }
    
                        
                        $content_header .= "</tr>";
    
                        }
                        $content_header .= '</tbody></table>';
                    }

       
        
        

                $sql3 = "SELECT event_name,detail_event.pig_id,pig_amount_pregnant,pig_birthday,pig_idbreeder,pig_idbreeder2,pig_breed
                FROM detail_event
                inner join profile_pig on (detail_event.pig_id = profile_pig.pig_id) 
                inner join event_list ON (detail_event.event_id = event_list.event_id) 
                WHERE detail_event.pig_id = '$pigId'
                ORDER BY pig_amount_pregnant DESC , detail_id DESC limit 1";
    
                $fetch = mysqli_query($con, $sql3);
                while($rowhistory = mysqli_fetch_array($fetch)) {
                    $pig_amount_pregnant = $rowhistory["pig_amount_pregnant"];
                    $event_name =  $rowhistory["event_name"];
                    $pig_birthday =  $rowhistory["pig_birthday"];
                    $pig_idbreeder =  $rowhistory["pig_idbreeder"];
                    $pig_idbreeder2 =  $rowhistory["pig_idbreeder2"];
                    $pig_breed =  $rowhistory["pig_breed"];
                }

        


    $data .= '<table border=0 width="100%" style="font-size:16pt;">
    <tr>
            <td><b>เบอร์แม่ : </b></td>
            <td>'.$query_pigid.'</td>
            <td><b>ท้องที่ : </b></td>
            <td>'.$pig_amount_pregnant.'</td>
            <td><b>สถานภาพ : </b></td>';

            if($event_name == "คลอด"){
                $data .= '<td>ให้นม</td>';
            }else{
            $data .= '<td>'.$event_name.'</td>';
            }

    $data .= '</tr>
    <tr>
            <td><b>วันเกิด : </b></td>
            <td>'.DateThai($pig_birthday).'</td>
            <td><b>แม่ : </b></td>
            <td>'.$pig_idbreeder2.'</td>  
            <td><b>พ่อ:</b> </td>
			<td>'.$pig_idbreeder.'</td>
            <td><b>พันธุ์:</b></td>';
            if($pig_breed == ""){
                $data .= '<td>ไม่ระบุ</td>';
            }else{
                $data .= '<td>'.$pig_breed.'</td>';
            }
        
			    
            $data .= '</tr></table><br/><br/>';
        
$end = "</tbody></table><br/><br/><br/>";



    $style = '
<style>
    body{
        font-family: "thsarabun";
    }
</style>';


$head .= '<h2 style="text-align:center">ประวัติพ่อแม่พันธุ์</h2></br>';

// echo $style;
// echo $head;
// echo $data;
// echo $content_th;
// echo $end;
// echo $content_header;

        $mpdf = new \Mpdf\Mpdf();
        $mpdf->setFooter('{PAGENO}');
        $mpdf->WriteHTML($style);
        $mpdf->WriteHTML($head);
        $mpdf->WriteHTML($data);

        $mpdf->WriteHTML($content_th);
        $mpdf->WriteHTML($end);
        $mpdf->WriteHTML($content_header);


        $mpdf->Output();
       

    } //end function


    $fetch_pigid = "SELECT DISTINCT pregnant.pig_id
                    FROM pregnant 
                    inner join detail_event on (pregnant.pig_id = detail_event.pig_id) 
                    AND (pregnant.pig_amount_pregnant = detail_event.pig_amount_pregnant) 
                    inner join event_list ON (detail_event.event_id = event_list.event_id) 
                    ORDER BY pregnant.`pig_id` ASC, pregnant.pig_amount_pregnant ASC";

    $result_pigid = mysqli_query($con, $fetch_pigid);
    $query_pigid;

    while($pd = mysqli_fetch_assoc($result_pigid)) {
        $query_pigid = $pd["pig_id"]; 

        printpig($query_pigid,$con);

    }

        mysqli_close($con);

?>




ขออภัยหากรูปใหญ่ไปหน่อยนะครับ



Tag : PHP, MySQL, HTML, PDF









ประวัติการแก้ไข
2019-05-23 02:08:38
2019-05-23 02:10:15
2019-05-23 03:55:44
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-05-23 02:07:14 By : rachun085 View : 876 Reply : 7
 

 

No. 1



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



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


ผมว่ามันผิดตั้งแต่ตอนรันไฟล์ PHP ธรรมดาแล้วนะ
คุณลองเอา view source > html ตารางมาตรวจดูดีกว่าว่าผลลัพธ์มันออกมาครบจริงๆ html ถูกต้องจริงๆหรือเปล่า
เพราะจากที่ผมเห็น มันตารางแหว่งๆ มาก็ไม่ครบ column นี่ยังไม่ต้องไปถึง mpdf เพราะถ้าผลลัพธ์ไม่สมบูรณ์ mpdf ก็ไม่แสดงแน่นอน.






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 03:13:42 By : mr.v
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2019-05-23 03:13:42
รายละเอียดของการตอบ ::
ลอง View Source เรียบร้อย ข้อมูลออกมาตรงครับ ที่เห็นมันแหว่งๆเพราะผมลืมใส่ <td> อีก 1 ตัวครับ ตอนนี้ใส่เรียบร้อยแล้วครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 03:54:18 By : rachun085
 

 

No. 3



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



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


ลองตรวจ tag html ให้แน่ใจด้วยตัวเองนะครับว่ามันครบและถูกต้องจริงๆ การเปิดปิดแท็กต้องไม่พลาด จากนั้นจึงเอาใส่ mpdf ให้ทำงานก็น่าจะครบหมดแล้วนะ


ประวัติการแก้ไข
2019-05-23 04:39:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 04:38:19 By : mr.v
 


 

No. 4



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



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


เน้นสนับสนุน mr.v นะครับ สำหรับ mpdf ไวยกรณ์ tag html ต้องเป๊ะ ถ้าหลุด อาจถึงกับอิ้งตายคาที่ไม่ทำงานเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 07:30:42 By : Chaidhanan
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.v เมื่อวันที่ 2019-05-23 04:38:19
รายละเอียดของการตอบ ::

พอจะไกด์ให้ผมหน่อยได้ไหมครับ ผมไล่หาทั้งคืนเลยก็ยังไม่รู้ว่าผิด Syntax ที่จุดไหนเลยครับ :(


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 16:16:11 By : rachun085
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-05-23 07:30:42
รายละเอียดของการตอบ ::
รบกวนช่วยไกด์จุดผิดให้ผมทีได้ไหมครับ งมมาทั้งคืนเลยครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 16:16:47 By : rachun085
 


 

No. 7



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



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

แก้ไขได้แล้วครับ ผมใช้วิธีการ echo ข้างใน Function แล้วก็ทำการ WriteHTML ที่ข้างนอกฟังก์ชั่นเอาครับ

ขอบคุณพี่ๆทุกท่านมากครับผม



ประวัติการแก้ไข
2019-05-23 16:33:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-05-23 16:32:10 By : rachun085
 

   

ค้นหาข้อมูล


   
 

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