0

可能重复:
MySQL Nested Select 能否返回结果列表

我有一个包含users(id,name)的表和另一个包含courseAttrs用户已应用于(userID,courseID)的表。我想选择所有用户并让此选择返回用户已申请的名称和逗号分隔的 courseID 列表。什么是可能的解决方案?

4

1 回答 1

1

您应该查看 mysql 的手册,因此,就您的解释而言,您应该为两个表创建查询...您可以使用 mysql 的程序来获取结果..您始终可以使用 foreach 来读取所有值,并且如果你想要一种特定类型的数组,你可以创建它,同时循环通过 mysql 返回的对象/数组运行

我认为,如果您使用表单(名称、课程 ID、课程 ID、课程 ID)创建一个数组(就像我想您想要创建的),您可能会将所有数据弄得一团糟,并且可能会为每个用户创建一个数组。我认为最好的方法是接收您从查询中获得的对象或数组。

对于查询,假设你有一个关联字段,你可以做这样的事情

select * from user, courseAttrs where user.courseattr = courseattr.id_couse_attr

如果你使用 mysql_fetch_object

while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;

}

mysql_fetch_assoc() 返回关联数组:

while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
}

mysql_fetch_array() 返回数组

while ($row = mysql_fetch_array($result)) {
    echo $row[0];
    echo $row[1] ;
}
于 2012-09-26T17:32:46.323 回答