【发布时间】:2020-06-26 18:01:20
【问题描述】:
我目前正在尝试打印使用 mysqli 连接 2 个表的结果。但每次我尝试这样做时,它只返回一个表的结果,而它正在加入的表不返回任何结果
以下是将数据显示到表格中的代码
foreach($db->showdata() as $x) {
if($x['role_id'] == 1 || $x['role_id'] == 2) continue;
$id = $x['user_id'];
echo "<tr>";
echo "<td>" . $x['user_id'] . "</td>";
echo "<td>" . $x['first_name'] ." ". $x['last_name']. "</td>";
echo "<td>" . $x['nilai_tugas'] . "</td>";
echo "<td>" . $x['nilai_uts'] . "</td>";
echo "<td>" . $x['nilai_uas'] . "</td>";
echo "</tr>";
}
虽然这个是它调用的 showdata() 函数
function showdata(){
$data = mysqli_query($this->db, "SELECT * FROM user LEFT OUTER JOIN grade ON(user.user_id = grade.user_id) IS NOT NULL;");
while($d = mysqli_fetch_array($data)){
$hasil[] = $d;
}
return $hasil;
}
表的结构是
用户:user_id、first_name、last_name 和其他与这部分无关的列
等级:user_id、nilai_tugas、nilai_uts、nilai_uas
当我运行它返回的代码时
注意:未定义索引:nilai_tugas 注意:未定义索引:nilai_uts 注意:未定义索引:nilai_uas
这是来自成绩表,但来自用户表的数据会通过并显示在页面中。 The page result
当我在 mysql 中运行查询时,它确实返回了我请求的所有数据,但在函数中似乎没有返回数据。
提前谢谢你。
编辑:我尝试将选择查询移动到同一页面并且它可以工作,但当我使用函数返回时它不起作用(这是强制性的)。
【问题讨论】: