我有一个包含users
(id,name)的表和另一个包含courseAttrs
用户已应用于(userID,courseID)的表。我想选择所有用户并使用此选项返回用户已应用的名称和逗号分隔的courseID列表。什么是可能的解决方案?
答案 0 :(得分:1)
你应该查看mysql的手册,所以,据你解释一下,你应该为两个表创建查询...你可以使用mysql的程序来获得结果..你总是可以使用foreach来读取所有值,如果你想要一个特定类型的数组,你可以创建它同时循环运行通过mysql返回的对象/数组
我认为如果您使用表单(name,courseid,courseid,courseid)创建一个数组(就像我想要创建的那样),您可能会弄乱所有数据,并且可能会为每个用户创建一个数组。我认为最好的方法是接收从查询中获得的对象或数组。
对于查询,假设你有一个关联字段,你可以做这样的事情
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] ;
}