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 > สอบถามหน่อยครับ ออกรายงานด้วย mpdf ขึ้น แบบนี้แก้ยังไงครับผม


[PHP] สอบถามหน่อยครับ ออกรายงานด้วย mpdf ขึ้น แบบนี้แก้ยังไงครับผม

 
Topic : 129211



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



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



ผมลองทำตามกระทู้ที่ในนี้สอน ออกรายงานด้วย mpdf แล้วมันขึ้น ว่า
Fatal error: Switch statements may only contain one default clause in C:\xampp\htdocs\testphp\mpdf\mpdf.php on line 1432
ต้องแก้ไขยังไงครับ รบกวนได้โปรดช่วยผมหน่อยนะครับ

error

Code (PHP)
01.<?php
02.    require 'connectdb.php';
03.    require_once('mpdf/mpdf.php');
04.    ob_start();
05.    $q = "select * from tutor";
06.    $result = mysqli_query($con, $q);
07.?>
08.<!DOCTYPE html>
09.<html>
10.    <head>
11.        <meta charset="UTF-8">
12.        <title>แสดงชื่อติวเตอรื</title>
13.            </head>
14.    <body>
15.        <center><font size="24"><?php  echo  "รายได้ของติวเตอร์";    ?></font><center>
16.        <center><table border ="2 " style = "width:1000px">
17.            <tr>
18.                <th>รหัสติวเตอร์</th>
19.                <th>ชื่อติวเตอร์</th>
20.                <th>จบสูงสุด</th>
21.                <th>ระดับที่สอน</th>
22.                <th>สถานที่สอน</th>
23.                <th>สอนวิชา</th>
24.                <th>ชั่วโมงที่สอน</th>
25.            </tr>
26.            <?php
27.                while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
28.            ?>
29.            <tr>
30.                <td><center><?php echo $row['ID_t']."<br>";?></center></td>
31.                <td><center><?php echo $row['Name_t']."<br>";?></center></td>
32.                <td><center><?php echo $row['Info_t']."<br>";?></center></td>
33.                <td><center><?php echo $row['Grade_t']."<br>";?></center></td>
34.                <td><center><?php echo $row['Local_t']."<br>";?></center></td>
35.                <td><center><?php echo $row['Main_t']."<br>";?></center></td>
36.                <td><center><?php echo $row['Limit_t']."<br>";?></center></td>
37.            </tr>
38.                <?php }
39.                       mysqli_free_result($result);
40.                       mysqli_close($con);
41.                ?>
42.    </body>
43.</html>
44.<?php
45.$html = ob_get_contents();        //เก็บค่า html ไว้ใน $html
46.ob_end_clean();
47.$pdf = new mPDF('th', 'A4-L', '0', '');   //การตั้งค่ากระดาษถ้าต้องการแนวตั้ง ก็ A4 เฉยๆครับ ถ้าต้องการแนวนอนเท่ากับ A4-L
48.$pdf->SetAutoFont();
49.$pdf->SetDisplayMode('fullpage');
50.$pdf->WriteHTML($html, 2);
51.$pdf->Output("MyPDF/MyPDF.pdf");         // เก็บไฟล์ html ที่แปลงแล้วไว้ใน MyPDF/MyPDF.pdf ถ้าต้องการให้แสด
52.?>
53.ดาวโหลดรายงานในรูปแบบ PDF <a href="MyPDF/MyPDF.pdf">คลิกที่นี้</a>




Tag : PHP, HTML, CSS, PDF, iReport, Crystal Report

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-10-14 17:39:39 By : coke0213 View : 6106 Reply : 9
 

 

No. 1



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



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


update mpdf
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-14 18:58:30 By : mr.v
 

 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2017-10-14 18:58:30
รายละเอียดของการตอบ ::
ผมอัพเดทเป็นตัว mpdf 6.0 แล้วก้ยังไม่ได้ครับ ขึ้น ว่า Fatal error: Uncaught ArgumentCountError: Too few arguments to function mPDF::SetAutoFont(), 0 passed in C:\xampp\htdocs\testphp\Show_tutor2.php on line 49 and exactly 1 expected in C:\xampp\htdocs\testphp\mpdf60\mpdf.php:1732 Stack trace: #0 C:\xampp\htdocs\testphp\Show_tutor2.php(49): mPDF->SetAutoFont() #1 {main} thrown in C:\xampp\htdocs\testphp\mpdf60\mpdf.php on line 1732

ต้องแก้ยังไงครับผม รบกวนด้วยครับผม

4กห54ห5
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-14 20:42:57 By : coke0213
 

 

No. 3



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



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


เปิดเอกสารของมันดูครับว่า SetAutoFont ต้องระบุอะไรบ้าง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-14 22:38:13 By : mr.v
 

 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.v เมื่อวันที่ 2017-10-14 22:38:13
รายละเอียดของการตอบ ::
ดูมาแล้วครับมันบอกว่า มันยกเลิกใช้คำสั่ง setautofont ไปแล้วให้เปลี่ยนมาใช้ $this->autoScriptToLang = false;
อันนี้อะครับพอผมใส่เข้าไปแล้วมันว่า
Fatal error: Uncaught Error: Using $this when not in object context in C:\xampp\htdocs\testphp\Show_tutor2.php:49 Stack trace: #0 {main} thrown in C:\xampp\htdocs\testphp\Show_tutor2.php on line 49

ต้องแก้ไขยังไงครับผม

45654

Code (PHP)
01.<?php
02.    require_once('mpdf60/mpdf.php'); //ที่อยู่ของไฟล์ mpdf.php ในเครื่องเรานะครับ
03.    ob_start(); // ทำการเก็บค่า html นะครับ
04. 
05.    require 'connectdb.php';
06.    $q = "select * from tutor";
07.    $result = mysqli_query($con, $q);
08.    ?>
09.<html>
10.    <head>
11.        <meta charset="UTF-8">
12.        <title>แสดงชื่อติวเตอรื</title>
13.            </head>
14.    <body>
15.        <center><font size="24"><?php  echo  "รายได้ของติวเตอร์";    ?></font><center>
16.        <center><table border ="2 " style = "width:1000px">
17.            <tr>
18.                <th>รหัสติวเตอร์</th>
19.                <th>ชื่อติวเตอร์</th>
20.                <th>จบสูงสุด</th>
21.                <th>ระดับที่สอน</th>
22.                <th>สถานที่สอน</th>
23.                <th>สอนวิชา</th>
24.                <th>ชั่วโมงที่สอน</th>
25.            </tr>
26.            <?php
27.                while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
28.            ?>
29.            <tr>
30.                <td><center><?php echo $row['ID_t']."<br>";?></center></td>
31.                <td><center><?php echo $row['Name_t']."<br>";?></center></td>
32.                <td><center><?php echo $row['Info_t']."<br>";?></center></td>
33.                <td><center><?php echo $row['Grade_t']."<br>";?></center></td>
34.                <td><center><?php echo $row['Local_t']."<br>";?></center></td>
35.                <td><center><?php echo $row['Main_t']."<br>";?></center></td>
36.                <td><center><?php echo $row['Limit_t']."<br>";?></center></td>
37.            </tr>
38.                <?php }
39.                       mysqli_free_result($result);
40.                       mysqli_close($con);
41.                       $html = ob_get_contents();
42. 
43.                ?>
44.    </body>
45.</html>
46. 
47.<?php
48.ob_end_clean();
49.$this->autoScriptToLang = false;
50.$pdf = new mPDF('th', 'A4-L', '0', ''); //การตั้งค่ากระดาษถ้าต้องการแนวตั้ง ก็ A4 เฉยๆครับ ถ้าต้องการแนวนอนเท่ากับ A4-
51.$pdf->SetDisplayMode('fullpage');
52.$pdf->WriteHTML($html, 2);
53.$pdf->Output();
54.?>



ประวัติการแก้ไข
2017-10-16 19:13:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-16 19:13:03 By : coke0213
 

 

No. 5



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



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


ไม่เคยใช้นะแต่จากที่อ่านที่ จขกท เขียน
Code (PHP)
1.$this->autoScriptToLang = false;
2.$pdf = new mPDF('th', 'A4-L', '0', ''); //การตั้งค่ากระดาษถ้าต้องการแนวตั้ง ก็ A4 เฉยๆครับ ถ้าต้องการแนวนอนเท่ากับ A4-

น่าจะเป็นแบบนี้หรือเปล่า
Code (PHP)
1.$pdf = new mPDF('th', 'A4-L', '0', ''); //การตั้งค่ากระดาษถ้าต้องการแนวตั้ง ก็ A4 เฉยๆครับ ถ้าต้องการแนวนอนเท่ากับ A4-
2.$pdf->autoScriptToLang = false;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-16 20:12:45 By : Chaidhanan
 

 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-10-16 20:12:45
รายละเอียดของการตอบ ::
อ่อขอบคุณครับ แต่ข้อมูลมันขึ้นแค่ 2 บรรทัดเองอะครับ มันขึ้นไม่หมดครับ ต้องแก้ตรงไหนอ่อครับ

Code (PHP)
01.<?php
02.    require_once('mpdf60/mpdf.php'); //ที่อยู่ของไฟล์ mpdf.php ในเครื่องเรานะครับ
03.    ob_start(); // ทำการเก็บค่า html นะครับ
04. 
05.    require 'connectdb.php';
06.    $q = "select * from tutor";
07.    $result = mysqli_query($con, $q);
08.    ?>
09.<html>
10.    <head>
11.        <meta charset="UTF-8">
12.        <title>แสดงชื่อติวเตอรื</title>
13.            </head>
14.    <body>
15.        <center><font size="24"><?php  echo  "รายได้ของติวเตอร์";    ?></font><center>
16.        <center><table border ="2 " style = "width:1000px">
17.            <tr>
18.                <th>รหัสติวเตอร์</th>
19.                <th>ชื่อติวเตอร์</th>
20.                <th>จบสูงสุด</th>
21.                <th>ระดับที่สอน</th>
22.                <th>สถานที่สอน</th>
23.                <th>สอนวิชา</th>
24.                <th>ชั่วโมงที่สอน</th>
25.            </tr>
26.            <?php
27.                while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
28.            ?>
29.            <tr>
30.                <td><center><?php echo $row['ID_t']."<br>";?></center></td>
31.                <td><center><?php echo $row['Name_t']."<br>";?></center></td>
32.                <td><center><?php echo $row['Info_t']."<br>";?></center></td>
33.                <td><center><?php echo $row['Grade_t']."<br>";?></center></td>
34.                <td><center><?php echo $row['Local_t']."<br>";?></center></td>
35.                <td><center><?php echo $row['Main_t']."<br>";?></center></td>
36.                <td><center><?php echo $row['Limit_t']."<br>";?></center></td>
37.            </tr>
38.                <?php }
39.                       mysqli_free_result($result);
40.                       mysqli_close($con);
41.                ?>
42.    </body>
43.</html>
44. 
45.<?Php
46.$html = ob_get_contents();
47.ob_end_clean();
48.$pdf = new mPDF('th', 'A4-L', '0', ''); //การตั้งค่ากระดาษถ้าต้องการแนวตั้ง ก็ A4 เฉยๆครับ ถ้าต้องการแนวนอนเท่ากับ A4-L
49.$pdf->autoScriptToLang = false;
50.$pdf->SetDisplayMode('fullpage');
51.$pdf->WriteHTML($html, 2);
52.$pdf->Output();
53.?>

9874512
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-16 20:28:25 By : coke0213
 

 

No. 7



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



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


ดู tag ปิด-เปิด ให้ดีก่อน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-16 21:56:56 By : Chaidhanan
 

 

No. 8



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



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


</table>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-17 05:39:12 By : mr.v
 

 

No. 9



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



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

พอดีเพิ่งเห็นกระทู้นี้จาก Google เนื่องจากว่าผมก็เพิ่งเจอปัญหาเหมือนกัน ตอนแรกใช้ PHP V.5.6 ไม่มีปัญหา แต่พอเปลี่ยนมาเป็น PHP V.7.x ก็ขึ้นแบบนี้ fatal error: switch statements may only contain one default clause

วิธีแก้ไข (เผื่อใครเจอปัญหาแบบเดียวกันนี้) ทำได้ง่าย ๆ ครับ
1. เปิดไฟล์ mpdf.php (อยู่ใน Folder หลักของ mpdf)
2. ค้นหา function _getPageFormat($format) ครงบรรทัด case 'A4' ให้ลบ default: ออก
3. Save ไฟล์ แล้ว Upload ขึ้นไปไว้บน Server - เรียกไฟล์ php ที่ใช้สร้าง .pdf ตามปกติ จะไม่มี Error แล้ว

function _getPageFormat($format) {
switch (strtoupper($format)) {
case '4A0': {$format = array(4767.87,6740.79); break;}
case '2A0': {$format = array(3370.39,4767.87); break;}
case 'A0': {$format = array(2383.94,3370.39); break;}
case 'A1': {$format = array(1683.78,2383.94); break;}
case 'A2': {$format = array(1190.55,1683.78); break;}
case 'A3': {$format = array(841.89,1190.55); break;}

/* case 'A4': default: {$format = array(595.28,841.89); break;} - ก่อนแก้ไข */
case 'A4': {$format = array(595.28,841.89); break;} /* หลังแก้ไข */

case 'A5': {$format = array(419.53,595.28); break;}
case 'A6': {$format = array(297.64,419.53); break;}
case 'A7': {$format = array(209.76,297.64); break;}

ขอฝากเว็บหน่อยนะครับ (ถ้าผิดกฎ รบกวน Admin ลบให้ด้วยนะครับ) https://ssl.siamecohost.com จำหน่าย SSL Certificate ราคาถูก เริ่มต้นเพียงปีละ 370 บาท เท่านั้น ในหน้า ขอใบเสนอราคา ผมก็ใช้ mpdf ในการสร้างไฟล์ .pdf ครับ


ประวัติการแก้ไข
2024-09-12 08:19:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-09-12 08:15:25 By : Boss-Aek
 

   

ค้นหาข้อมูล


   
 

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