0

重複の可能性:
MySQL Nested Select は結果のリストを返すことができますか

users(id, name) を含む 1 つのテーブルとcourseAttrs、ユーザーが適用された (userID,courseID) を含む別のテーブルがあります。すべてのユーザーを選択し、この選択で名前と、ユーザーが適用したコース ID のカンマ区切りのリストを返すようにしたいと考えています。可能な解決策は何ですか?

4

1 に答える 1

1

mysql のマニュアルを確認する必要があるため、説明する限り、2 つのテーブルのクエリを作成する必要があります... 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] ;
}
于 2012-09-26T17:32:46.323 に答える