我希望你的可以帮助我,我们可以提高这一点!
我有两张表,学生和成绩。表学生有有等级的人,等级有人们有的等级,阶段…
我需要像这样显示
Matter | 1º Phase | 2º Phase |
Math | 1.0 | 2.0 |
Science | 2.0 | 4.0 |
Matter | 1º Phase | 2º Phase |
Math
| 1.0 |
| 2.0 |
Science
| 2.0 |
| 4.0 |
请看我的代码:
<?php
foreach($grades->getGradesByStudentID($id) as $grade) {
echo '<tr>';
foreach($matters->getMattersByID($grade['matter_id']) as $matter_v) {
echo "<td>$matter_v[name]</td>";
}
if($grade['phase'] == "1º bimestre") {
echo "<td>hue</td>";
}
if($grade['phase'] == "2º bimestre") {
echo "<td>$grade[grade]</td>";
}
echo '</tr>';
}
?>
发布于 2014-06-16 11:23:01
如果看不到实际的数组数据,很难说问题出在哪里。但是从表面上看,您的if
语句似乎应该放在foreach
循环的上下文中。以下是我对应该如何重构的看法:
<?php
foreach($grades->getGradesByStudentID($id) as $grade) {
echo '<tr>';
foreach($matters->getMattersByID($grade['matter_id']) as $matter_v) {
echo "<td>" . $matter_v['name'] . "</td>";
if($grade['phase'] == "1º bimestre") {
echo "<td>" . $grade['hue'] . "</td>";
}
if($grade['phase'] == "2º bimestre") {
echo "<td>" . $grade['grade'] . "</td>";
}
}
echo '</tr>';
}
?>
除了将if
内容放在foreach
循环中之外,我还对echo "<td>" . … . "</td>";
内容使用了字符串连接。还有,有一行代码是echo "<td>hue</td>";
的,但我假设它应该是echo "<td>" . $grade['hue'] . "</td>";
,所以把它调整成这样。
https://stackoverflow.com/questions/24236109
复制相似问题