我目前在嘗試爲我想要的結果創建一個循環時遇到了問題。PHP,在SQL中循環查詢結果
我目前正在創建一個存儲不同學生(假學生)的大量數據的學生記錄卡。
我創建了一個查詢返回的相關數據,我需要(見圖片之一,phpMyAdmin的)
SELECT mods.mid, mtitle, credits, enrl.ayr
FROM stud, smod, mods, enrl
WHERE stud.sid = '154279' AND stud.sid = smod.sid
AND smod.mid = mods.mid AND stud.sid = enrl.sid
ORDER BY `enrl`.`ayr` DESC
你可以通過結果看,有屬性: 中旬
mtitle
學分
ayr
我已經按降序排列了ayr。我試圖做一個循環,將通過這個查詢返回並打印出每一行,直到今年的結束。幾乎將同一年的所有行分組,例如'2001/02'放入一個子表中,然後我可以命名和打印。
正如您可以通過學生記錄頁面的第二張圖片所看到的那樣,我需要能夠打印一年的所有記錄,然後爲下一個現有年份創建一個新標題並打印所有包含該行的記錄。
{編輯} PHP代碼:
$query = "SELECT mods.mid, mtitle, credits, enrl.ayr
FROM stud, smod, mods, enrl
WHERE stud.sid = '154279' AND stud.sid = smod.sid AND smod.mid = mods.mid AND stud.sid = enrl.sid
ORDER BY enrl.ayr DESC
";
$scap = '';
$curYear = $row['ayr'];
if($result = $link->query($query)) {
while ($row = $result->fetch_assoc() && $row['ayr'] == $curYear) {
$scap .= "<table id=\"test\" style=\"width:100%\">
<tr>
<td> " . $row['mid'] . " </td> <td> " . $row['mtitle'] . "</td> <td> " . $row['credits'] . " <td> " . $row['ayr'] . "</td>
</tr>
</table>";
}$result->free();
}
在此先感謝。
更改查詢 – Drew
我不知道,太什麼? – jonlovesmeth
你有任何代碼張貼? – DataHerder