我正在为教师构建一个简单的缺勤脚本来管理学生。
我需要在 5 个表中填充相同的学生列表。当前一周的每一天(周一至周五)一张表。
我现在有以下代码
列出学生SQL查询:
SELECT s.student_id, s.student_firstname, s.student_lastname,
a.student_absence_startdate, a.student_absence_enddate, a.student_absence_type
FROM students s
LEFT JOIN studentabsence a ON a.student_id = s.student_id
WHERE a.student_absence_startdate
IS NULL OR
'2012-06-20'
BETWEEN
a.student_absence_startdate AND a.student_absence_enddate
此查询选择所有学生并加入另一个表,该表是一个链接表,其中包含学生的缺勤信息。
我像这样填充代码 5 次:
<?php
$data = array();
while ($row = mysql_fetch_array($list_students)) {
$data[] = $row;
}
?>
<table>
<?php
foreach($data as $row){
$class = "";
if ($row['student_absence_type'] == 2) {$class = " style='background:#f00;'";}
else if ($row['student_absence_type'] == 3) {$class = " style='background:#8A2BE2;'";}
echo "<tr><td$class>";
echo "<a class='ajaxlink' href='#' rel='pages/ajaxAbsence.php?student_id=".$row['student_id']."'>".$row['student_firstname']." ".$row['student_lastname']."</a>";
echo "</td></tr>\n";
}
?>
</table> <!-- Repeat -->
我的问题是我应该如何管理日期功能。
正如您在我的 SQL 查询中看到的那样,我已经对日期进行了硬编码。我需要它来自动选择列出学生的日期。
例如:
table > Monday (2012-07-23)
the user John Doe has absence information in this span, based on the above query. Let's change the background of <td>
table > Tuesday (2012-07-24)
the user John Doe has no absence information in this span. Just list him.
etc...
我不希望你写我的代码。我只是好奇如何思考。我对编程相当陌生。