สอบถามการใช้งาน tcpdf ดึงข้อมูลจาก db มาวนลูป while ครับ
พอดีผม อยากทาบว่า ผม สร้างไฟล์ php เพื่อส่งออกมาเป็น pdf แล้ว ดึงข้อมูล มาวนลูป โดยวนลูปทั้ง <table> เลย rvf7แล้ว คิวรี่ช้ามากกก ขนาดมีแค่ 50-60 reccord เท่านั้น
Code (PHP)
$selectyear=$_REQUEST["selectyear"];
$selectmonth=$_REQUEST["selectmonth"];
$listname=$_REQUEST["listname"];
$idcc=$_REQUEST["idcc"];
?>
<?
if($listname=="A"){
$strslip = "SELECT * FROM tb_salary WHERE yaer_sa='$selectyear' and month_sa='$selectmonth'";
}else{
$strslip = "SELECT * FROM tb_salary WHERE yaer_sa='$selectyear' and month_sa='$selectmonth' and idc_sa='$idcc'";
}
$objQslip = $mysqli->query($strslip);
while($objRslip = $objQslip->fetch_object()){
$saraly=$objRslip->saraly;
$ttday=$objRslip->totalday;
$tta1=$objRslip->total1;
$tta2=$objRslip->total2;
$tta3=$objRslip->total3;
$tta4=$objRslip->total4;
$tta5=$objRslip->total5;
if($ttday=="0"){
$ttd="";
}else{
$tdd=$objRslip->totalday;
$ttd=$tdd." "."วัน";
}
$qr1=$objRslip->qty_rate1;
if($qr1=="0"){
$qqr1="";
}else{
$qqr1=number_format($objRslip->qty_rate1, 1);
}
$qr2=$objRslip->qty_rate2;
if($qr2=="0"){
$qqr2="";
}else{
$qqr2=number_format($objRslip->qty_rate2, 1);
}
$qr3=$objRslip->qty_rate3;
if($qr3=="0"){
$qqr3="";
}else{
$qqr3=number_format($objRslip->qty_rate3, 1);
}
$qr4=$objRslip->qty_rate4;
if($qr4=="0"){
$qqr4="";
}else{
$qqr4=number_format($objRslip->qty_rate4, 1);
}
$qr5=$objRslip->qty_rate5;
if($qr5=="0"){
$qqr5="";
}else{
$qqr5=number_format($objRslip->qty_rate5, 1);
}
$pv=$objRslip->pos_value;
if($pv=="0"){
$ppv="";
}else{
$ppv=$objRslip->pos_value;
}
$cst=$objRslip->cost;
if($cst=="0"){
$ccst="";
}else{
$ccst=$objRslip->cost;
}
$cmm=$objRslip->comm;
if($cmm=="0"){
$ccmm="";
}else{
$ccmm=$objRslip->comm;
}
$phe=$objRslip->phone;
if($phe=="0"){
$pphe="";
}else{
$pphe=$objRslip->phone;
}
$foo=$objRslip->food;
if($foo=="0"){
$ffoo="";
}else{
$ffoo=$objRslip->food;
}
$dil=$objRslip->diligent;
if($dil=="0"){
$ddil="";
}else{
$ddil=$objRslip->diligent;
}
$bon=$objRslip->bonus;
if($bon=="0"){
$bbon="";
}else{
$bbon=$objRslip->bonus;
}
$ont=$objRslip->onther;
if($ont=="0"){
$oont="";
}else{
$oont=$objRslip->oont;
}
$oil=$objRslip->oil;
if($oil=="0"){
$ooil="";
}else{
$ooil=$objRslip->oil;
}
$sai=$objRslip->sai;
if($sai=="0"){
$ssai="";
}else{
$ssai=$objRslip->sai;
}
$adp=$objRslip->ad_payment;
if($adp=="0"){
$aadp="";
}else{
$aadp=$objRslip->ad_payment;
}
$par=$objRslip->pragun;
if($par=="0"){
$ppar="";
}else{
$ppar=$objRslip->pragun;
}
$kad=$objRslip->kad;
if($kad=="0"){
$kkad="";
}else{
$kkad=$objRslip->kad;
}
$sick=$objRslip->sick;
if($sick=="0"){
$ssick="";
}else{
$ssick=$objRslip->sick;
}
$lakit=$objRslip->lakit;
if($lakit=="0"){
$llakit="";
}else{
$llakit=$objRslip->lakit;
}
$lao=$objRslip->la_onther;
if($lao=="0"){
$llao="";
}else{
$llao=$objRslip->la_onther;
}
$wel=$objRslip->welfare;
if($wel=="0"){
$wwel="";
}else{
$wwel=$objRslip->welfare;
}
$paon=$objRslip->pay_onther;
if($paon=="0"){
$ppaon="";
}else{
$ppaon=$objRslip->pay_onther;
}
$firt=$objRslip->first_pragun;
if($firt=="0"){
$ffirt="";
}else{
$ffirt=$objRslip->first_pragun;
}
$loan=$objRslip->loan;
if($loan=="0"){
$lloan="";
}else{
$lloan=$objRslip->loan;
}
$resv=$objRslip->reserve;
if($resv=="0"){
$rresv="";
}else{
$rresv=$objRslip->reserve;
}
$tax=$objRslip->tax;
if($tax=="0"){
$ttax="";
}else{
$ttax=$objRslip->tax;
}
$fee=$objRslip->fee;
if($fee=="0"){
$ffee="";
}else{
$ffee=$objRslip->fee;
}
?>
<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0" >
<tr align="center" valign="middle">
<td width="10%" rowspan="2" valign="middle" align="left"> <img src="img/logo1.png" width="55" height="50"></td>
<td width="50%" colspan="2" valign="middle" align="right"><font size="18"><b>บริษัท บีเคกรุ๊ป 2018 จำกัด</b></font></td>
<td width="40%" valign="middle" colspan="2" align="right"><font size="18"><b>ใบแจ้งเงินเดือน (PAY SLIP)</b></font></td>
</tr>
<tr align="center" valign="middle">
<td width="90%" valign="middle" colspan="3" align="left"><font size="14">129 หมู่ที่ 7 ตำบลขามทะเลสอ อำเภอขามทะเลสอ จังหวัดนครราชสีมา 30280 โทร. 044-397092</font></td>
</tr>
<tr align="center" valign="middle">
<td width="10%" valign="middle" align="left"><font size="14"> ชื่อ - สกุล</font></td>
<td width="35%" valign="middle" align="left"><font size="14">นายมังกร บาลี</font></td>
<td width="10%" valign="middle" align="left"><font size="14">รหัสพนักงาน</font></td>
<td width="45%" valign="middle" colspan="2" align="left"><font size="14">516542</font></td>
</tr>
<tr align="center" valign="middle">
<td width="10%" valign="middle" align="left"><font size="14"> เลขที่บัญชี</font></td>
<td width="35%" valign="middle" align="left"><font size="14">ธนาคารกรุงไทย 420-4-45678-4</font></td>
<td width="10%" valign="middle" align="left"><font size="14">ตำแหน่ง</font></td>
<td width="45%" valign="middle" colspan="2" align="left"><font size="14">คนสวน</font></td>
</tr>
</table>
<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0" >
<tr align="center" valign="middle">
<th width="80%" valign="middle" align="left">
<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="24%" class="btop_left_bottom"><font size="13"><b>รายได้ (INCOME)</b></font></td>
<td width="11%" class="btop_left_bottom"><font size="13"><b>จำนวน</b></font></td>
<td width="15%" class="btop_left_bottom"><font size="13"><b>จำนวนเงิน</b></font></td>
<td width="24%" class="btop_left_bottom"><font size="13"><b>รายการหัก (Deduction)</b></font></td>
<td width="11%" class="btop_left_bottom"><font size="13"><b>จำนวน</b></font></td>
<td width="15%" class="btop_right_left_bottom"><font size="13"><b>จำนวนเงิน</b></font></td>
</tr>
<tr>
<td width="24%" class="bleft" align="left" ><font size="12"> เงินเดือน</font></td>
<td width="11%" class="bleft" ><font size="12"><?echo $ttd;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($saraly, 2);?></font></td>
<td width="1%" class="bc"> </td>
<td width="24%" class="bleft" align="left"><font size="12"> หักมาสาย</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ssai, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าล่วงเวลา 1 เท่า</font></td>
<td width="11%" class="bleft"><font size="12"><?echo $qqr1;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($tta1, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักขาดงาน</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($kkad, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าล่วงเวลา 1.5 เท่า</font></td>
<td width="11%" class="bleft"><font size="12"><?echo $qqr2;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($tta2, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักลาป่วย</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ssick, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าล่วงเวลา 3 เท่า</font></td>
<td width="11%" class="bleft"><font size="12"><?echo $qqr3;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($tta3, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักลากิจ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($llakit, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าล่วงเวลาวันหยุด 1 เท่า</font></td>
<td width="11%" class="bleft"><font size="12"><?echo $qqr4;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($tta4, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักลาอื่นๆ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($llao, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าล่วงเวลาวันหยุด 3 เท่า</font></td>
<td width="11%" class="bleft"><font size="12"><?echo $qqr5;?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($tta5, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักสวัสดิการ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($wwel, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าตำแหน่ง</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($ppv, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> เบิกล่วงหน้า</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($aadp, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าครองชีพ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($ccst, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักจ่ายอื่นๆ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ppaon, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าคอมมิชชั่น</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($ccmm, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักประกันแรกเข้า</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ffirt, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าโทรศัพท์</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($pphe, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักเงินกู้</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($lloan, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> ค่าอาหาร</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($ffoo, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักกองทุนสำรองเลี้ยงชีพ</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($rresv, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> เบี้ยขยัน</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($ddil, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักสมทบประกันสังคม 5%</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ppar, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> โบนัส</font></td>
<td width="11%" class="bleft"> </td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($bbon, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักภาษี</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ttax, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="bleft" align="left"><font size="12"> เงินได้อื่นๆ</font></td>
<td width="11%" class="bleft"> </td>
<td width="14%" class="bleft" align="right"><font size="12"><?echo number_format($oont, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="bleft" align="left"><font size="12"> หักค่าธรรมเนียม</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?echo number_format($ffee, 2);?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
<tr>
<td width="24%" class="left_bottom" align="left"><font size="12"> ค่าน้ำมัน</font></td>
<td width="11%" class="left_bottom"><font size="12"> </font></td>
<td width="14%" class="bc2" align="right"><font size="12"><?echo number_format($ooil, 2);?></font></td>
<td width="1%" class="bc" ><font size="12"> </font></td>
<td width="24%" class="left_bottom" align="left"><font size="12"> </font></td>
<td width="11%" class="left_bottom"><font size="12"> </font></td>
<td width="15%" class="bleft_right_new" align="right"> </td>
</tr>
</table>
<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="35%" colspan="2" class="btop_left_bottom"><font size="13"><b>รวมเงินได้</b></font></td>
<td width="14%" class="btop_right_left_bottom1" align="right"><font size="13"><b><?echo number_format($objRslip->total_income, 2);?></b></font></td>
<td width="1%" class="bc3" ><font size="12"> </font></td>
<td width="35%" colspan="2" class="btop_left_bottom"><font size="13"><b>รวมรายการหัก</b></font></td>
<td width="14%" class="btop_right_left_bottom1" align="right"><font size="13"><b><?echo number_format($objRslip->total_deductions, 2);?></b></font></td>
<td width="1%" class="bc3"> </td>
</tr>
</table>
</th>
<th width="1%" valign="middle" align="left"> </th>
<th width="19%" valign="middle" align="left">
<table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="100%"></td>
</tr>
<tr>
<td width="100%" class="btop_right_left_bottom"><b>วันที่จ่าย</b></td>
</tr>
<tr>
<td width="100%" class="btop_right_left_bottom">
<p class="p1">
<?echo $objRslip->day_pay;?>
</p>
</td>
</tr>
<tr>
<td width="100%"></td>
</tr>
<tr>
<td width="100%"></td>
</tr>
<tr>
<td width="100%" class="btop_right_left_bottom"><b>รอบเงินเดือน</b></td>
</tr>
<tr>
<td width="100%" class="btop_right_left_bottom">
<p class="p1">
<?echo $objRslip->rob_pay;?>
</p>
</td>
</tr>
<tr>
<td width="100%"></td>
</tr>
<tr>
<td width="100%"></td>
</tr>
<tr>
<td width="100%"></td>
</tr>
<p class="p2"> </p>
<tr>
<td width="100%" class="btop_right_left_bottom"><b>เงินรับสุทธิ</b></td>
</tr>
<tr>
<td width="100%" class="btop_right_left_bottom">
<p class="p1"><b>
<?
$aa=$objRslip->total_income;
$bb=$objRslip->total_deductions;
$ttpay=$aa-$bb;
echo number_format($ttpay, 2);
?>
</b></p>
</td>
</tr>
</table>
</th>
</tr>
</table>
ดังรูป คือ 1 คน ข้อมูลมี 80 คน โหลด เกือบ 5 นาทีTag : PHP, MySQL
ประวัติการแก้ไข 2024-03-20 11:28:09 2024-03-20 12:00:42
Date :
2024-03-19 22:32:20
By :
klork012
View :
281
Reply :
14
ตัดตัวแปรบางตัวที่ไม่จำเป็น
Code (PHP)
while($objRslip = $objQslip->fetch_object()){
//$saraly=$objRslip->saraly;
//$ttday=$objRslip->totalday;
$tta1=$objRslip->total1; // พวกนี้ก็ด้วย
$tta2=$objRslip->total2; // พวกนี้ก็ด้วย
$tta3=$objRslip->total3; // พวกนี้ก็ด้วย
$tta4=$objRslip->total4; // พวกนี้ก็ด้วย
$tta5=$objRslip->total5; // พวกนี้ก็ด้วย
Code (PHP)
<tr>
<td width="24%" class="bleft" align="left" ><font size="12"> เงินเดือน</font></td>
<td width="11%" class="bleft" ><font size="12"><?=$objRslip->totalday<1 ? '': $tdd=$objRslip->totalday?></font></td>
<td width="14%" class="bleft" align="right"><font size="12"><?=number_format($objRslip->saraly, 2)?></font></td>
<td width="1%" class="bc"> </td>
<td width="24%" class="bleft" align="left"><font size="12"> หักมาสาย</font></td>
<td width="11%" class="bleft"><font size="12"> </font></td>
<td width="14%" class="bc1" align="right"><font size="12"><?=number_format($objRslip->sai, 2)?></font></td>
<td width="1%" class="bleft_right"> </td>
</tr>
หมายเหตุ
ใส่ index ให้กับตารางหน่อย
WHERE yaer_sa ='$selectyear' and month_sa ='$selectmonth' and idc_sa ='$idcc'";
result ข้อมูลที่ได้น้อย แต่ข้อมุลในตารางไม่น่าน้อย
Date :
2024-03-20 07:36:05
By :
Chaidhanan
อัปโฮสจริงเดี๋ยวจะมาตั้งกระทู้อีกว่าทำไมรันไม่ได้บน appserve รันได้ เพราะดันใช้แท็กเปิดแบบสมัยพระเจ้าเหา
แท็กเปิด php ที่ถูกควรจะต้องเป็น <?php ไม่ใช่ <? เฉยๆ ยกเว้น <?=$var ?>
สำหรับงานที่กำลังเขียน หัดใช้ xdebug profiler ดูว่าช้าจากตรงไหนได้
https://xdebug.org/docs/profiler
ปรับให้มันตั้งค่าเฉพาะเมื่อมี trigger เพื่อกันไม่ให้มันทำงานตลอดเวลา
https://xdebug.org/docs/all_settings#start_with_request#trigger
แล้วเวลาก๊อปโค้ดแปะกระทู้ พยายามใช้ highlight ครอบโค้ดบ้าง แท็ก bb [ php] (ไม่มีเว้นวรรค) หรือปุ่มทั้งหลายที่เขามีให้ในฟอร์มกระทู้ ลองหัดใช้ ทำให้มันอ่านง่าย
Date :
2024-03-20 11:20:55
By :
mr.v
ทดลองใหม่โดยการเอาโค้ดเดิมเลย db query กับ html แสดงผล เดิมๆ
แต่ไม่ได้ใช้ tcpdf เลย เอาไปใส่ไฟล์ใหม่เพื่อดูว่าแสดงผล HTML ธรรมดาๆ เร็วแค่ไหน ถ้ามันเร็วปรี๊ด แสดงว่าไม่ใช่ปัญหา DB แล้ว
Date :
2024-03-20 11:30:04
By :
mr.v
bb code syntax highlighter มันอยู่ตรงนี้
ประวัติการแก้ไข 2024-03-20 11:32:53
Date :
2024-03-20 11:32:13
By :
mr.v
จาก คห.5 ประยุกต์ใช้
Code (PHP)
//...
//...
$objQslip = $mysqli->query($strslip);
while($objRslip = $objQslip->fetch_object()){
print_r($objRslip);
}
เอาแค่นี้ก่อน ถ้ามันเร็ว เดี๋ยวค่อยปรับส่วนอื่น
Date :
2024-03-20 13:18:49
By :
Chaidhanan
แสดงว่าปัญหามันอยู่ในขั้นตอนอื่นแล้ว และไม่แน่ใจว่า while loop หรือโค้ดส่วนอื่นๆ ดูเหมือนจะ เอามาไม่ครบหรือเปล่า?
ปัญหาอยู่ส่วนอื่นงั้นต้องดูในโค้ดที่ไม่ได้โพสต์ว่ามันไปมีอะไรตรงไหนอีก
เพราะส่วนที่โพสต์ดูแค่นี้ก็รู้สึกว่าไม่มีอะไรน่าจะช้ายกเว้น DB ใหญ่เยอะ แต่ก็บอกว่าไม่ได้ใหญ่เยอะก็ไม่น่ามีอะไรแล้ว
Date :
2024-03-20 17:45:19
By :
mr.v
ทดลองเอาผลลัพธ์ที่ได้ ทำออกมาเป็น HTML แล้วเอา HTML ล้วนๆที่พร้อมแสดงผลบนเบราว์เซอร์เลย ไปยัดใส่ tcpdf โดยไม่ต้องเชื่อมต่อ DB ใดๆอีก
ตัวอย่าง
Code (PHP)
// code open TCPDF
$page = '<table>...รายการตารางเยอะๆที่แสดงผลบนเบราว์เซอร์ ได้จากการ view source...</table>';
// write to pdf
เอาแค่นี้ทดลองแค่นี้ มันจะไม่มีการเชื่อมต่อ DB ไม่มีอย่างอื่นนอกจากเปิด TCPDF, เขียนเนื้อหาที่เป็น HTML ธรรมดาๆ แล้วปิดไฟล์ จบ.
ถ้ามันช้าตรงนี้ ต้องแก้โดยอัปเดท TCPDF ก่อน แล้วจากนั้นมาแปะโค้ดเพื่อช่วยกันลองดูว่ามันช้าจากอะไร
Date :
2024-03-20 17:48:24
By :
mr.v
ตอบความคิดเห็นที่ : 11 เขียนโดย : mr.v เมื่อวันที่ 2024-03-20 17:48:24
รายละเอียดของการตอบ ::
ช้าเมือนเดิมครับผม จับเวลา ได้ ประมาณ 3 นาที กับข้อมูล พนักงาน 96 คน ครับ
แสดงว่าช้าที่โค้ด วนลูป table ไหมครับพี่
คิวรี่ html เร็วนะครับ พอเอามาดึงใส่ tcpdf ช้าเลยครับ
โค้ด tcpdf ข้างล่างครับ
Code (PHP)
<?php
session_start();
// Include the main TCPDF library (search for installation path).
require_once('tcpdfscore/tcpdf.php');
include("tcpdfscore/class/class_curl.php");
// เริ่มสร้างไฟล์ pdf
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// กำหนดรายละเอียดของไฟล์ pdf
$pdf->SetTitle ('สลิปเงินเดือนพนักงาน NK-GROUP | FOLLOW ME ASSET GROUP');
// กำหนดข้อความส่วนแสดง header
$pdf->SetHeaderData(
PDF_HEADER_LOGO, // โลโก้ กำหนดค่าในไฟล์ tcpdf_config.php
PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.'',
PDF_HEADER_STRING, // กำหนดเพิ่มเติมในไฟล์ tcpdf_config.php
array(0,0,0), // กำหนดสีของข้อความใน header rgb
array(255,255,255) // กำหนดสีของเส้นคั่นใน header rgb
);
$pdf->setFooterData(
array(0,0,0), // กำหนดสีของข้อความใน footer rgb
array(255,255,255) // กำหนดสีของเส้นคั่นใน footer rgb
);
// กำหนดฟอนท์ของ header และ footer กำหนดเพิ่มเติมในไฟล์ tcpdf_config.php
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// ำหนดฟอนท์ของ monospaced กำหนดเพิ่มเติมในไฟล์ tcpdf_config.php
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// กำหนดขอบเขตความห่างจากขอบ กำหนดเพิ่มเติมในไฟล์ tcpdf_config.php
$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);
// กำหนดสัดส่วนของรูปภาพ กำหนดเพิ่มเติมในไฟล์ tcpdf_config.php
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// อนุญาตให้สามารถกำหนดรุปแบบ ฟอนท์ย่อยเพิมเติมในหน้าใช้งานได้
$pdf->setFontSubsetting(true);
// กำหนด ฟอนท์
$pdf->SetFont('thsarabun', '', 15, '', true);
// เพิ่มหน้า
$path_info = pathinfo($_SERVER['REQUEST_URI']);
$http = ($_SERVER['REQUEST_SCHEME'])?$_SERVER['REQUEST_SCHEME']."://":"http://";
$host = $_SERVER['SERVER_NAME'];
$pathDir = $path_info['dirname']."/";
$url = $http.$host.$pathDir;
$pdf->startPageGroup();
$pdf->AddPage('L', 'SSP');
// เรียกใช้งาน ฟังก์ชั่นดึงข้อมูลไฟล์มาใช้งาน
$html1m = curl_get($url."dataslip.php?selectyear=".$_GET['selectyear']."&selectmonth=".$_GET['selectmonth']."&listname=".$_GET['listname']."&idcc=".$_GET['idcc']); // path ไฟล์ ($url."data_html.php?invoiceID=1111");
$pdf->writeHTMLCell(0, 0, '', '', $html1m, 0, 1, 0, true, '', true);
$pdf->startPageGroup();
// แสดงไฟล์ pdf
$pdf->Output('reportscore.pdf', 'I');// table_report คือ ชื่อของไฟล์ แก้ไขได้
?>
Date :
2024-03-20 23:33:20
By :
klork012
Load balance : Server 03