MySQL
次のloop
ように行を印刷します。
$list_students = mysql_query(
"SELECT
s.student_id, s.student_firstname, s.student_lastname, s.isActive,
c.city_name,
sd.student_startdate, sd.student_enddate
FROM students s
INNER JOIN cityselections c ON c.city_id = s.student_city_id
INNER JOIN studentdates sd ON sd.student_id = s.student_id
WHERE s.student_city_id NOT LIKE '1'");
while ($row = mysql_fetch_array($list_students))
{
echo "<tr>\n";
echo "<td>" . $row['student_lastname'] . ", " . $row['student_firstname'] ."</td>\n";
echo "<td>" . $row['student_startdate'] . "</td>\n";
echo "<td>" . $row['student_enddate'] . "</td>\n";
echo "</tr>\n";
}
私もこれを持っていますfunction
:
function calculateNextDate($startDate, $days)
{
$dateTime = new DateTime($startDate);
while($days) {
$dateTime->add(new DateInterval('P1D'));
if ($dateTime->format('N') < 6) {
$days--;
}
}
return $dateTime->format('Y-m-d');
}
開始日と数値を指定して日付を計算し、週末を除外します。例えば:
calculateNextDate ($list_students['student_startdate'],15)
ここで、この関数を while ループ内で動作させたいと思います。別のMySQL
クエリを使用して、それぞれに対して複数の行を返すことができstudent_id
ます。
SELECT scp.cpl_id, scp.student_id, SUM(scpe.scpe_estimated_days) AS total FROM studentcourseplan scp
INNER JOIN studentcourseplanelements scpe ON scpe.scpe_cpl_id = scp.cpl_id
GROUP BY scp.cpl_id
これにより、次のように出力されます。
+--------+------------+-------+
| cpl_id | student_id | total |
+--------+------------+-------+
| 195 | 34 | 74 |
| 204 | 85 | 153 |
| 205 | 85 | 199 |
| 206 | 65 | 11 |
+--------+------------+-------+
内部の出力の最大数を計算し、loop
これが出力する日付を出力する関数が必要です
.. 生徒ごと ( student_id
)。
これはどのように行うことができますか?