gpt4 book ai didi

php - 我的数据在 foreach 的表(html)中显示错误。我做错了什么?

转载 作者:行者123 更新时间:2023-11-30 00:09:03 26 4
gpt4 key购买 nike

这是我第一次来这里。我希望你能帮助我,我们可以做到这一点!抱歉我的英语不好,那么...

我有 2 个表“学生”和“成绩”。表 STUDENTS 包含具有 GRADES 的人员,而 GRADES 具有人们具有的等级、阶段...

我需要这样显示

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>';
}

?>

最佳答案

在没有看到实际的数组数据的情况下,很难说问题是什么。但从表面上看,这似乎是你的 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>";所以调整为这样。

关于php - 我的数据在 foreach 的表(html)中显示错误。我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com