HTML table 中不需要的号码问题

Issue with unwanted numbers in HTML table

我的 HTML table 有这个问题:这是一个 table 的成绩,我用 -1 作为试点成绩,这意味着学生还没有完成还没有考试,所以他还没有拿到成绩单。但我不希望它像这样出现在 table 中:

我希望它有一个空白 space。但是 SQL 不会让我将其保留为空,而且我已经用 -1 检查了所有的极端情况。我应该怎么做才能让它消失?

这是 cs50 课程的期末项目,我使用他们的一个分发代码作为基础。请忽略上图,这是样机!

<td class="grade-1">
    <span class="grade">-1</span>
</td>

<td class="grade-50">
    <span class="grade">50</span>
</td>

<td class="grade-100">
    <span class="grade">100</span>
</td>

<style>
   .grade-1 .grade {
       display: none;
   }
</style>

这里的关键是创建一个类似 gradeX 的 class(其中 X 是要在该单元格中引入的成绩)并在 CSS 中添加如下内容:(在我的例子中,我不希望它显示成绩是否为 == -1 所以)

div.grade-1{
    visibility:hidden;
}

table 看起来像这样:

<tr class="d1">
            <td><?= $row["subject"] ?></td>
            <td><div class = "grade<?php echo $row['G1']; ?>"><?= $row["G1"] ?></div></td>
            <td><div class = "grade<?php echo $row['G2']; ?>"><?= $row["G2"] ?></div></td>
            <td><div class = "grade<?php echo $row['G3']; ?>"><?= $row["G3"] ?></div></td>
            <td><div class = "grade<?php echo $row['G4']; ?>"><?= $row["G4"] ?></div></td>
            <td><?= $row["normal"] ?></td>
            <td><?= $row["creditos"] ?></td>
            <td><?= $row["criteria"] ?></td>
        </tr>

其中以$row开头的变量是要插入的数字 table!