1

これは本当に単純なことだと感じています。取り決めは次のとおりです。3 つの列を持つテーブルがあります。いずれかの列のすべての値を取得して、それをリストに変換したいと考えています。リストを横断できるように、これを行いたいと思います。リスト内の各値は、ユーザー名に対応しています。そのユーザー名を使用して、ユーザーに関する情報にアクセスしたいと考えています。この情報を使用して、ユーザーが所属している学部を確認し、それに応じて並べ替えることができます。これは私が思いついたものです:

    function get_users_by_faculty($faculty) { 
    global $connection;
    $query = "SELECT * FROM owner";
    $user_set = mysql_query($query); // ERROR could not establish link to server
    confirm_query($user_set);  
    foreach($user_set as $user) { //ERROR invalid argument
        $userFaculty = get_info_by_id($user["ownerId"], "ou"); 
        if($faculty == $userFaculty){
            return $user["name"];
        } else {
            return NULL; 
        }
    }

私はこれに数時間かなりこだわっています。

4

1 に答える 1

2

あなたのフィールド名はわかりませんが、SQL クエリでそれができると思います。

そんな感じ :

SELECT user.id,user.name, faculty.name 
FROM user inner join faculty on faculty.id = user.faculty_id
WHERE faculty.id=?

あなたは交換する必要がありますか?あなたの教員IDで。

ユーザー名のリストが必要な場合は、 group concat を使用できます。

SELECT GROUP_CONCAT(user.name SEPARATOR ';') 
FROM user inner join faculty on faculty.id = user.faculty_id
WHERE faculty.id=?
GROUP BY faculty.id
于 2012-05-31T14:30:31.140 に答える