我想要的是echo "<p>Average Mark: $average</p>";
出现在表格上方而不是表格下方。如果我这样做,虽然问题在于它不会计算平均值,因为回声高于变量。但是如果我移动变量并且在整个表上方使用while循环(我需要while循环来从查询中选择$row[Mark]'
字段,因为那是将被平均的字段),它会混乱表的结构。如何在不破坏表结构的情况下在表格上方显示$average, $total, $count
等变量和echo "<p>Average Mark: $average</p>";
?
我试过了$("#record").html(<?php echo "Average Mark: $average"; ?>);
但是我在这行上遇到了这个错误:
解析错误:语法错误,意外&#39;(&#39;,期待T_VARIABLE或&#39; $&#39;位于第135行的/web/stud/u0867587/Mobile_app/exam_grade_report.php
下面是当前代码,您可以在while循环中看到$count++; , $total += $row['Mark'];
,在底部看到$ average变量和echo。
<?php
$result = mysql_query($query);
mysql_close();
$("#record").html(<?php echo "Average Mark: $average"; ?>);
?>
<div id="record">
<table border='1'>
<tr>
<th>Session ID</th>
<th>TeacherUsername</th>
<th>Teacher Name</th>
<th>Module Number</th>
<th>Module Name</th>
<th>Course ID</th>
<th>Course Name</th>
<th>Year</th>
<th>Student Username</th>
<th>Student Name</th>
<th>Mark</th>
<th>Grade</th>
</tr>
<?php
$total = 0;
$count = 0;
while ($row = mysql_fetch_array($result)) {
$count++;
$total += $row['Mark'];
echo "
<tr>
<td>{$row['SessionId']}</td>
<td>{$row['TeacherUsername']}</td>
<td>{$row['TeacherForename']} {$row['TeacherSurname']}</td>
<td>{$row['ModuleId']}</td>
<td>{$row['ModuleName']}</td>
<td>{$row['CourseId']}</td>
<td>{$row['CourseName']}</td>
<td>{$row['Year']}</td>
<td>{$row['StudentUsername']}</td>
<td>{$row['StudentForename']} {$row['StudentSurname']}</td>
<td>{$row['Mark']}</td>
<td>{$row['Grade']}</td>
</tr>";
}
?>
</table>
</div>
<?php
$average = (int)($total/$count);
echo "<p>Average Mark: $average</p>";
?>
答案 0 :(得分:0)
好像是在混合javascript
和php
:
<?php
$result = mysql_query($query);
mysql_close();
$("#record").html(<?php echo "Average Mark: $average"; ?>); // what is this??
?>
答案 1 :(得分:0)
如果您只是将所需内容放在<table>
(或任何<tr>
)内,但在任何<td>
单元格之外,它将显示在表格上方。
答案 2 :(得分:0)
您可以做的是定义表格底部的表格标题。类似的东西:
<table>
<tbody>
<tr>
<td>row1</td>
</tr>
<tr>
<td>row2</td>
</tr>
</tbody>
<thead>
<tr>
<th>Average: 20</th>
</tr>
</thead>
</table>
答案 3 :(得分:0)
添加另一个答案,因为我对旧的答案有了更好的想法。
在输出表格之前,请输入:
<?php ob_start(create_function('$a','global $average; return "Average Mark: ".$average.$a;)); ?>
表格完成后你定义了$average
变量:
<?php ob_end_flush(); ?>