php - 如何继续向该数组添加内容?

标签 php mysql

我正在运行以下代码,该代码运行一个查询,获取类(class)中的所有学生 ID,然后针对每个学生 ID 获取他们的所有成绩。我的问题是,当它返回并为第二个、第三个等学生运行 for 循环时,放入数组中的数据不会保留在其中。有没有办法将数据保留在数组中并不断向其中添加?我在下面添加了一些代码来帮助描绘图片。谢谢大家

$sql = "SELECT student_id FROM users_table WHERE class_id ='5'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$row_cnt = mysqli_num_rows($result);
$students = array();

for($y=0; $y<$row_cnt; $y++)
{
    array_push($students, $row['student_id']);

    $sql2 = "SELECT student_grade FROM grades_table WHERE student_id ='".$students[$y]."'";
    $result2 = $db->sql_query($sql2);
    $row2 = $db->sql_fetchrow($result2);
    $row_cnt2 = mysqli_num_rows($result2);

    for($z=0; $z<$row_cnt2; $z++)
    {
         array_push($students, array($row['student_grade']));
    }
}

最佳答案

在第二个 sql2 部分中,您可能想做这样的事情:

for($z=0;$z<$row_cnt2;$z++) {
   $students[$row['student_id']] = $row['student_grade'];
}

这样做,你的数组不会被覆盖,你会得到这样的结果:

array(
    5 => "A"
    6 => "B"
)

其中 5 是学生 ID,A 是成绩。

但是,当然,这也可以通过 Mark Ba​​ker 提供的 JOIN 查询轻松解决。

您正在编写的“更大的查询”是什么?

关于php - 如何继续向该数组添加内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25066988/

相关文章:

php - 分析正则表达式词法分析器

php - 在另一个类的变量中调用一个类的常量

mysql 选择/插入到同一个表中

php - Azure PHP MySQL 应用内 - 无法从 PHP 连接到 MySQL

php - 使用 foreach 处理空数组

php - 将 label.text 发送到 php 文件

mysql - 来自两个客户端的 InnoDB 互表锁

java - 使用java备份mysql数据库而不丢失可移植性

php - 在不知道字段 php 的情况下循环遍历 fetchall

php - MySQL SELECT PHP 数据而不将其发布 WordPress