【发布时间】:2014-10-12 00:38:33
【问题描述】:
我有三个mysql表科目、考试、考试信息
表格 - 主题
- 主题 ID
- 主题名称
- 科目考试
表格 - 检查
- 考试
- 考试
表格检查
- fname
- 名字
- 学生号
- 得分
-
主题ID
在 subject.subjectExamid = 考试.examid
开考试.subjectid = subject.subjectid
现在我想生成 HTML 表格,显示学生每篇论文针对主题获得的分数
结构表输出 每个科目分数的学生详细信息
编辑代码示例
<?php $examinid = 3; $subjects = mysqli_query( $con," SELECT * FROM subjects WHERE examid = '$examinid' ORDER BY shortname ASC "); $content = mysqli_query( $con," SELECT DISTINCT exam.idcandidate, exam.sex, exam.fname, exam.lname FROM examinations AS exam INNER JOIN examinfo AS info ON exam.id_subject = info.idsubject WHERE info.idexam = '$examinid' "); ?> <div id="table_1"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="table1tr">#</td> <td class="table1tr">Candidate</td> <td class="table1tr">ID</td> <td class="table1tr">Sex</td> <?php // output subjects while($subRow = mysqli_fetch_array($subjects)){ $arbv = strtoupper($subRow['shortname']); $subjectname = ucwords(strtolower($subRow['subjectname']." - ".$subRow['subjectid']."")); ?> <td class="table1tr" title="<?php echo $subjectname; ?>"> <?php echo $arbv; ?> </td> <?php } ?> <td class="table1tr">Exam</td> </tr> <?php while($stdnt = mysqli_fetch_array($content)){ $fullname = ucwords(strtolower("$stdnt[lname] $stdnt[fname]")); $studentid = str_replace(array('/', 'M', 'W', 'S', 'F', '-'), "",$stdnt['idcandidate']); if($sex = $stdnt['sex'] == Male){ $sex = M; }else{ $sex = F; } $id_subject = $stdnt['id_subject']; $x++; $zebra_1 = ($x%2)? 'TableZebra_1': 'TableZebra_2'; ?> <tr> <td class="<?Php echo $zebra_1; ?>"><?php echo $count++; ?></td> <td class="<?Php echo $zebra_1; ?>"><?Php echo $fullname; ?></td> <td class="<?Php echo $zebra_1; ?>"><?php echo $studentid; ?></td> <td class="<?Php echo $zebra_1; ?>"><?php echo $sex; ?></td> <td class="<?Php echo $zebra_1; ?>"> <!-- Problem is here how to output the subject grades $grade --> <!-- My first unsuccessful approach SELECT score FROM examinations AS test INNER JOIN examinfo AS testinfo ON testinfo.idsubject = test.id_subject WHERE testinfo.idexam IN ( SELECT idexam FROM examinfo WHERE idexam = $examinid ) AND test.id_subject = $id_subject AND test.idcandidate = '$studentid' Then output results - But this falls it shows one student subjects in one cell --> </td> <td class="<?Php echo $zebra_1; ?>">Exam</td> </tr> <?php } // loop content ?> </table> </div>
【问题讨论】:
-
我们不会为你神奇地编写代码......如果你想尝试并发布它,那么我很乐意帮助你解决代码中的错误......但 Stack Overflow 是不是为你的工作编写代码。你应该从一些研究开始Simple Google Search
-
john ruddell 检查编辑