|
|
|
เขียน PHP ให้ report ออกมาเป็นไฟล์ pdf แต่มันไม่ขึ้นเหมือนจะมีปัญหาหลังจากการผ่าน loop รึป่าวครับ รบกวนช่วยแก้ให้หน่อยครับ |
|
|
|
|
|
|
|
อันนี้คือโค้ดที่ผมทำนะครับ อาจจะยาวซักหน่อย เพราะต้องดึงข้อมูลเยอะ แล้วติดปัญหาที่ว่าพอคิวรี่ข้อมูลมา แล้วไม่ขึ้น ขึ้นแค่ส่วนหัวกระดาษและหัวตาราง แต่ส่วนที่คิวรี่ผ่าน while และ for มันไม่ขึ้นเลยครับ รบกวนช่วยตอบด้วยนะครับติดอยู่ตรงนี้นานแล้ว ขอบคุณครับ
โค้ดนี้นะครับ
Code (PHP)
<?php
include("connect.php");
$sql1 = "SELECT * FROM tbl_student where std_id = '".$_SESSION['std_id']."'";
mysql_query('set names utf8');
$result1 = mysql_query($sql1);
$rs1 = mysql_fetch_array($result1);
$std_stdid = $rs1['std_stdid'];
$std_sex = $rs1['std_sex'];
$std_fname = $rs1['std_fname'];
$std_sname = $rs1['std_sname'];
$group_id = $rs1['group_id'];
$sqlg = "select * from tbl_stdgroup where group_id = '$group_id'";
$resultg = mysql_query($sqlg);
$rsg = mysql_fetch_array($resultg);
$gid= $rsg['group_id'];
$gname = $rsg['group_name'];
$html = '<table width="660" >
<tr>
<td align="center"><font size="18"><strong></strong><b>ใบแสดงรายละเอียดการเทียบโอน</b></font></td>
</tr>
</table>
<table width="649">
<tr>
<td width="49"></td>
<td width ="600"><b>ชื่อ</b>...'.$std_sex.$std_fname.'...'.$std_sname.'.....<b>รหัสประจำตัวนักศึกษา</b>...'.$std_stdid.'....<b>กลุ่มเรียน</b>....'.$gname.'...</td>
</tr>
</table><br>';
$html.='<table width="800" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="42" style="text-align: center; "><strong>ลำดับ</strong></td>
<td colspan="2" align="center" ><strong>วิชา มทร.ส.(หน่วยกิต)</strong></td>
<td width="71" align="center" valign="top"></td>
<td width="227" align="center" valign="top" ><strong>รายวิชาสถาบันเดิม(หน่วยกิต)</strong></td>
<td width="40" align="center" valign="top"><strong>เกรด</strong></td>
</tr>';
include("connect.php");
$sqlts = "select DISTINCT sg_id from tbl_stdtransfer where std_id = '".$_SESSION['std_id']."'";
//mysql_query('set names utf8');//echo $sqlts;
//echo $sqlts;
$resultts = mysql_query($sqlts);
$rows = mysql_num_rows($resultts);
//echo $rows;
$r = 0;
$t = 0;
$num = 1;
while($rsts = mysql_fetch_array($resultts)){
$a = $rsts['sg_id'];
$tssg_id[] = $tssg_id[$r]."$a";
$r++;
}
$sqlts9 = "select DISTINCT sg_id from tbl_testtransfer where std_id = '".$_SESSION['std_id']."'";
//echo $sqlts;
$resultts9 = mysql_query($sqlts9);
$rows9 = mysql_num_rows($resultts9);
//echo $rows9;
while($rsts9 = mysql_fetch_array($resultts9)){
$b = $rsts9['sg_id'];
$tssg_id9[] = $tssg_id9[$t]."$b";
$t++;
}
$result10 = array_merge($tssg_id,$tssg_id9);
$array = array_unique($result10);
//echo $tssg_id[2];
$num_array = count($array);
//echo $num_array;
for($i = 0; $i< $num_array;$i++){
$sqlsg = "select * from tbl_subgroup where sg_id = '$array[$i]'";
$resultsg = mysql_query($sqlsg);
$rssg = mysql_fetch_array($resultsg);
$sg_name = $rssg['sg_name'];
$sg_credit = $rssg['sg_credit'];
$sg_trcredit = $rssg['sg_trcredit'];
$sg_idg = $rssg['sg_id'];
$sqlsumtr = "select sum(st_credit) from tbl_stdtransfer where sg_id = '$sg_idg' and std_id = '".$_SESSION['std_id']."'";
//echo $sqlsumtr;
$resultsumtr = mysql_query($sqlsumtr);
$rssumtr = mysql_fetch_array($resultsumtr);
$sqlsumtest = "select sum(st_credit) from tbl_testtransfer where sg_id = '$sg_idg' and std_id = '".$_SESSION['std_id']."'";
//echo $sqlsumtest;
$resultsumtest = mysql_query($sqlsumtest);
$rssumtest = mysql_fetch_array($resultsumtest);
$sumcredit = $rssumtr[0] + $rssumtest[0];
$html2 = '<tr>
<td colspan="6"><span class="style2"></span><span class="style2"><b>"กลุ่มวิชา"'.$sg_name.'</b></span><span class="style2"> <b>เทียบได้ไม่เกิน</b> '.$sg_trcredit.' <b>หน่วยกิต </b> / <b>เทียบโอนไปแล้ว</b> '.$sumcredit.' <b>หน่วยกิต</b></span></td>
</tr>';
// include("connect.php");
$sqlts1 = "select * from tbl_stdtransfer where std_id = '".$_SESSION['std_id']."' and sg_id = '$array[$i]'";
// echo $sqlmt;
$resultts1 = mysql_query($sqlts1);
while($rsts1 = mysql_fetch_array($resultts1)){
$str_id = $rsts1['str_id'];
$std_id = $rsts1['std_id'];
$st_id = $rsts1['st_id'];
$st_credit = $rsts1['st_credit'];
$sg_id = $rsts1['sg_id'];
$so_id1 = $rsts1['so_id1'];
$so_grade1 = $rsts1['so_grade1'];
$so_id2 = $rsts1['so_id2'];
$so_grade2 = $rsts1['so_grade2'];
$so_id3 = $rsts1['so_id3'];
$so_grade3 = $rsts1['so_grade3'];
$sqlst = "select * from tbl_subtransfer where st_id = '$st_id'";
//echo $sqlst;
$resultst = mysql_query($sqlst);
$rsst = mysql_fetch_array($resultst);
$st_subid = $rsst['st_subid'];
$st_thname = $rsst['st_thname'];
$st_enname = $rsst['st_enname'];
$st_credit = $rsst['st_credit'];
$sum_credit1 = $sum_credit1 + $st_credit;
$html2= '<tr>
<td width="42" align="center" valign="top" style="text-align: center;">
'.$num++.' </td>
<td width="64" align="left" valign="top">'.$st_subid.'</td>
<td width="296" align="left" valign="top" style="font-size: 12px; " >'.$st_thname."(".$st_credit.")<br>".$st_enname.'</td>
<td colspan="3" align="left" valign="top"style="font-size: 12px">
<table width="384" border="0">
<tr>
<td width="71">'.$sot_subid1.'</td>
<td width="263">'.$sot_name1." (".$sot_credit1.")".'</td>
<td width="25" align="center">'.$so_grade1.'</td>
</tr>';
$pdf->writeHTML($html3, true, false, true, false, '');
if($so_id2 != "0"){
$html2.= '<tr>
<td width="71">'.$sot_subid2.'</td>
<td width="263">'.$sot_name2." (".$sot_credit2.")".'</td>
<td width="25" align="center">'.$so_grade2.'</td>
</tr>
';
$pdf->writeHTML($html3, true, false, true, false, '');
}
if($so_id3 != "0"){
$html2.= '<tr>
<td width="71">'.$sot_subid3.'</td>
<td width="263">'.$sot_name3." (".$sot_credit3.")".'</td>
<td width="25" align="center">'.$so_grade3.'</td>
</tr>
';
$pdf->writeHTML($html3, true, false, true, false, '');
}
$html2.= ' </table></td></tr>';
}
}
$html2.= '<tr>
<td colspan="5" align="right">รวมหน่วยกิต </td>
<td align="center" valign="top">'.$sum_credit1 + $sum_credit2.'</td>
</tr>
</table>
';
$pdf->writeHTML($html,$html2,$html3, true, false, true, false, '');
// reset pointer to the last page
$pdf->lastPage();
//Close and output PDF document'.$rs1['title_thai'].'
$pdf->Output('report.pdf', 'FI');
//============================================================+
// END OF FILE
//============================================================+
ผลรันครับ>>>
แต่อยากจะให้ออกมาเป็นแบบนี้>>>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Windows
|
ประวัติการแก้ไข 2014-01-13 22:15:43 2014-01-13 22:16:32
|
|
|
|
|
Date :
2014-01-13 21:54:51 |
By :
top_kudo |
View :
921 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยาวไป เอาจุดที่ต้องการมาโพสต์ดีกว่าไหมครับ มันยาวไม่มีใครค่อยดูหรอกครับ
|
|
|
|
|
Date :
2014-01-13 22:03:44 |
By :
weaned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษทีนะครับ ผมแก้ไขโดยลบโค้ดบางส่วนออกให้สั้นลงแล้ว ส่วนเหลือมันจำเป็นต้องให้เห็นจริงๆครับ ว่าปัญหามันมาจากอะไร พอดีผมได้โค้ดมา แล้วที่ได้มามันไม่การ วน loop แต่ของผมจำเป็นต้องมี loop ซ้อน loop แล้วผลลัพธ์มันออกมาอย่างภาพด้านบนครับ รบกวนช่วยผมหน่อยนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2014-01-13 22:20:23 |
By :
top_kudo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|