我的问题是,当我在浏览器中运行代码时,为什么HW1/HW2/HW3列有空值?
Studentid和Sum列正确显示了代码。有什么理想的方法来解决这个问题吗?
<?php
$result = mysqli_query($con,"SELECT studentid,SUM(hw1+hw2+hw3)
FROM grade
GROUP BY studentid");
echo "<table border='1'>
<tr>
<th>StudentID</th>
<th>HW1</th>
<th>HW2</th>
<th>HW3</th>
<th>SUM</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['studentid'] . "</td>";
echo "<td>" . $row['hw1'] . "</td>";
echo "<td>" . $row['hw2'] . "</td>";
echo "<td>" . $row['hw3'] . "</td>";
echo "<td>" . $row['SUM(hw1+hw2+hw3)'] . "</td>";
;}
echo "</table>";
mysqli_close($con);
?>
发布于 2013-03-31 03:34:36
因为您没有选择列,所以请尝试:
$result = mysqli_query($con, 'SELECT `studentid`, `hw1`, `hw2`, `hw3`, SUM(`hw1`+`hw2`+`hw3`) as `sum` FROM `grade` GROUP BY `studentid`');
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['studentid'] . "</td>";
echo "<td>" . $row['hw1'] . "</td>";
echo "<td>" . $row['hw2'] . "</td>";
echo "<td>" . $row['hw3'] . "</td>";
echo "<td>" . $row['sum'] . "</td>";
}
发布于 2013-03-31 03:41:07
只需将您的查询更改为
"SELECT studentid,hw1, hw2, hw3, SUM(hw1+hw2+hw3) as hw
FROM grade
GROUP BY studentid"
发布于 2013-03-31 03:32:40
我不确定,因为你的问题写得很糟糕。但是我认为你只需要这样做就可以得到这些值:
选择学生SUM、hw1、hw2、hw3、SUM(hw1+hw2+hw3)
https://stackoverflow.com/questions/15722542
复制相似问题