我正在将此报告打印为pdf格式:
但我得到的是:
在本报告中,每个学生在Exam
、Progress Report
、Quiz
和Project
列中都有记录。
示例数据:
以下是我的代码:
while($row = mysql_fetch_assoc($sql_criteria)){
$criteria[] = $row['criteria'];
$pdf->SetFont('Arial','',9);
$pdf->Cell(35,5,$row['criteria'],1,'','C');
}
$pdf->Cell(35,5,'Grade',1,0,'C');
$pdf->Cell(35,5,'Remark',1,0,'C');
$pdf->SetFont('Arial','',9);
$pdf->Ln();
while($row = mysql_fetch_array($sql)){
$criteria_array = implode(" ", $criteria);
$query_rec = mysql_query("SELECT equivalent FROM tb_student_record WHERE instructor_id = '$inst_id' AND criteria = '$criteria_array' AND description = '$desc' AND subj_code = '$code' AND term = '$term'");
$record = mysql_fetch_array($query_rec);
$name = $row['stud_name'];
$course = $row['course_and_year'];
$pdf->SetFont('Arial','',9);
$pdf->Cell(1);
$pdf->Cell(40,4,$name,1);
$pdf->Cell(20,4,$course,1,0,'C');
$pdf->Cell(5,4,$record['equivalent'],1,0,'C');
$pdf->Ln();
}
所以如果有什么问题。。。请大家指出。。如有任何帮助,请提前感谢
最佳答案
在代码中,每行只显示三列
我们必须通过所有的标准来显示要显示的必要数据
假设$criteria
是一个数组(删除implode()
部分):
$criteria = array("Exam", "Progress Report", "Quiz", "Project");
然后运行它们并将其绑定到您的查询:
$pdf->SetFont('Arial','',9); /* SET FONT TO ARIAL WITH FONT SIZE OF 9 */
while($row = mysql_fetch_array($sql)){ /* RUN THROUGH EACH STUDENT */
$pdf->Cell(1);
$pdf->Cell(40,4,$row['stud_name'],1); /* DISPLAY THE STUDENT'S NAME */
$pdf->Cell(20,4,$row['course_and_year'],1,0,'C'); /* DISPLAY THE COURSE AND YEAR */
for($x = 0; $x < count($criteria); $x++){ /* RUN ALL FOUR CRITERIAS */
$query_rec = mysql_query("SELECT equivalent FROM tb_student_record WHERE instructor_id = '$inst_id' AND criteria = '".$criteria[$x]."' AND description = '$desc' AND subj_code = '$code' AND term = '$term'");
$record = mysql_fetch_array($query_rec);
$pdf->Cell(5,4,$record['equivalent'],1,0,'C'); /* DISPLAY THE SCORE FOR THE EQUIVALENT CRITERIA */
} /* END OF FOR LOOP */
$pdf->Ln(); /* NEW LINE */
} /* END OF WHILE LOOP; RUNNING THROUGH ALL THE STUDENTS */
顺便说一句,如果你有时间,可以考虑在你的项目中使用
mysqli_*
,而不是使用deprecatedmysql_*
。关于php - HTML/FPDF表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35496468/