สร้างไฟล์ PDF ด้วยภาษา PHP

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

kkk_k
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 23/09/2019 2:12 pm

สร้างไฟล์ PDF ด้วยภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย kkk_k »

ขอสอบถามหน่อยคะ พอดีจะสร้าง pdf พอกดรันแล้วข้อมูลที่ดึงจากฐานข้อมูลไม่มาค่ะ ต้องแก้ไขยังไงคะ ขอบคุณค่ะ

โค้ด: เลือกทั้งหมด

<?php

include('connect.php');
// check data
if ((isset($_GET['data'])!='') && (isset($_GET['search'])!=''))
{
        $data = $_GET['data'];//ชื่อที่ตั้งใน form เช่น <input type='text' name='year'>
        $search=$_GET['search'];

// echo $data;
// echo $search;
                      //echo "CHECK DATE  : " . $data;   
                      //echo " CHECK JOB NUMBER  : " . $search;

             $sql="SELECT * FROM sensordata WHERE reading_time LIKE '%" . $data . "%' AND location LIKE '%$search%'";
            //echo $sql;

                        if ($result = $conn->query($sql)) {
              if($result->num_rows > 0) //เช็คว่ามีข้อมูลจากการ query หรือไม่
              {
                        while ($row = $result->fetch_assoc()) {    
                          $row_sensor = $row["sensor"];
                          $row_location = $row["locationName"];
                          $row_temp = $row["temp"];
                          $row_hum = $row["hum"]; 
                          $row_pm1 = $row["pm1"];
                          $row_pm2 = $row["pm2"]; 
                          $row_pm3 = $row["pm3"];  
                          $row_reading_time = $row["reading_time"];
            }
            }
  
 

              $html2 .= '<tr>';
              $html2 .= '<td align="center">' . $row_sensor . '</td> ';
              $html2 .= '<td align="center">' . $row_location . '</td>';
              $html2 .= '<td align="center">' . $row_temp . '</td>';
              $html2 .= '<td align="center">' . $row_hum . '</td>';
              $html2 .= '<td align="center">' . $row_pm1 . '</td>';
              $html2 .= '<td align="center">' . $row_pm2 . '</td>';
              $html2 .= '<td align="center">' . $row_pm3 . '</td>';
              $html2 .= '<td align="center"><font size="-1">' . $row_reading_time . '</font></td>';
              $html2 .= '</tr>';
                                  }
                              //$result->free();
                              



                    $html = 'REPORT : <br>';
    $html.= '<table width=800 border=0 cellpadding=0 cellspacing=0>';
    $html.= '<tr>';
    $html.= '<td>ID :'.$row_id.'</td>';
    $html.= '<td>NAMESENSOR :'.$row_sensor.'</td>';
    $html.= '<td>LOCATION :'.$row_location.'</td>';              
    $html.= '</tr></table>';  
          
    $html.= '<table width=800 border=0 cellpadding=0 cellspacing=0>';               
    $html.= '<tr>';  
    $html.= '<td>Temperature:'.$row_temp.'</td>';  
    $html.= '<td>Humidity :'.$row_hum.'</td>';  
    $html.= '<td>PM1.0 :'.$row_pm1.'</td>';  
    $html.= '<td>PM2.5 :'.$row_pm2.'</td>'; 
    $html.= '<td>PM10 :'.$row_pm3.'</td>'; 
    $html.= '<td>TIME :'.$row_reading_time.'</td>'; 
    $html.= '</tr></table>'; 


//////////////////สรุป////////////////////////////////////

//TIMESTART
  $sql2="SELECT Min(temp),reading_time FROM sensordata WHERE reading_time LIKE '%" . $data . "%' AND location LIKE '%$search%'";

                        if ($result2 = $conn->query($sql2)) {
                        while ($row2 = $result2->fetch_assoc()) {    
                          $t_time = $row2["reading_time"];
                          $t_min = intval($row3["Min(temp)"]);
            }
            }
//TIMESTOP
  $sql3="SELECT Max(temp),reading_time, Max(temp) FROM sensordata WHERE reading_time LIKE '%" . $data . "%' AND location LIKE '%$search%'";

                        if ($result3 = $conn->query($sql3)) {
                        while ($row3 = $result3->fetch_assoc()) {    
                          $tt_time = $row3["reading_time"];
              			  $t_max = intval($row3["Max(temp)"]);
            }
            }



    $html3 = '<br><b><u>สรุป</b></u><p>';
    $html3.= 'Temperature Min : '.$t_start.'<p>';
    $html3.= 'Time : '.$t_time.'<p>';

    $html3.= 'Temperature Max : '.$t_stop.'<p>';
    $html3.= 'Time : '.$tt_time.'<p>';




/////////////////จบสรุป///////////////////////////////////



require_once('TCPDF/tcpdf.php');
//////////////////////////////ส่วนหัว PDF////////////////////////////////////////////////////



$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8');

$pdf->SetCreator('INTERLINK DATACENTER');
$pdf->SetAuthor('INTERLINK DATACENTER');
$pdf->SetTitle('');
$pdf->SetSubject('INTERLINK DATACENTER');
$pdf->SetKeywords('Mindphp, TCPDF, PDF, example, guide');

// กำหนดรูปแบบตัวอักษรให้กับส่วนหัวของเอกสาร 
// freeserif = ชื่อตัวอักษร
// B = กำหนดให้เป็นตัวหนา
// 12 = ขนาดตัวอักษร
$pdf->setHeaderFont(array('freeserif', 'B', 16));


class MindphpTCPDF extends TCPDF
{
    // สร้าง function ชื่อ Header สำหรับปรับแต่งการแสดงผลในส่วนหัวของเอกสาร
    public function Header()
    {
        // สร้างคำสั่ง HTML ในตัวอย่างนี้ สร้างตาราง 2 คอลัมน์ 
        // คอลัมน์แรก สำหรับแสดงรูปภาพ คำสั่ง HTML แสดงรูปภาพและต้องใช้ URL แบบเต็ม
        // คอลัมน์ที่สอง สำหรับแสดงข้อความ
        $html = '<table><tr>'
            . '<td width="70"><img src="picture/gigi.jpg" /></td>'
            . '<td width="400" align="center"><br><br>ใบรายงานการผลิต</td></tr>'
            . '</table><hr />';
    $this->SetFont('freeserif', '', 16);
    $this->writeHTMLCell('', '', '', '', $html);


    }
}
$pdf = new MindphpTCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8');

/////////////////////////////จบส่วนหัว PDF/////////////////////////////////////////////////////////

$pdf->setFooterData(array (0, 64, 0), array (0, 64, 128));

$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->AddPage();

// กำหนดรูปแบบตัวอักษรให้กับเนื้อหา
$pdf->SetFont('freeserif', '', 10);
              
    //$html.=''.$html2;


    //$html3.=$html.$html2;
    //$pdf->writeHTML($html);
    @$pdf->writeHTML($html, true, false, true, false, '');

    //$pdf->writeHTMLCell(0, 0, '', '', $html2, 0, 1, 0, true, '', true);
    @$pdf->writeHTML($html3, true, false, true, false, '');

$pdf->Output('report.pdf', 'I');



}
else //เช็คค่าว่าง
{
  echo "No Data";
  exit(0);
}

    
                          ?>
แนบไฟล์
ข้อมูลจากฐานข้อมูลไม่มา
ข้อมูลจากฐานข้อมูลไม่มา
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41125
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สร้างไฟล์ PDF ด้วยภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลองดูที่หมวดนี้ครับ
https://www.mindphp.com/developer/php-pdf.html

ลอง Logs ดูข้อมูล ที่จะส่งเข้าไปใน ขั้นตอนการสร้างไฟล์ pdf ออกมาดูก่อนว่า มีข้อมูลออกมาตามความต้องการหรือไม่
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 55