Php 从mysql查询创建列表

Php 从mysql查询创建列表,php,mysql,sql,database,Php,Mysql,Sql,Database,我觉得这很简单。交易是这样的:我有一个有三列的表。我想获取其中一列中的所有值,并将其转换为一个列表。我想这样做,这样我就可以浏览列表了。列表中的每个值对应一个用户名。我想使用该用户名访问有关用户的信息。使用此信息,我可以检查用户所在的系,并进行相应排序。这就是我想到的: function get_users_by_faculty($faculty) { global $connection; $query = "SELECT * FROM owner"; $us

我觉得这很简单。交易是这样的:我有一个有三列的表。我想获取其中一列中的所有值,并将其转换为一个列表。我想这样做,这样我就可以浏览列表了。列表中的每个值对应一个用户名。我想使用该用户名访问有关用户的信息。使用此信息,我可以检查用户所在的系,并进行相应排序。这就是我想到的:

    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; 
        }
    }

我已经在这个问题上纠缠了几个小时。

我不知道您的字段名称,但我认为您可以通过sql查询来实现这一点

诸如此类:

SELECT user.id,user.name, faculty.name 
FROM user inner join faculty on faculty.id = user.faculty_id
WHERE faculty.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

请停止使用古老的
mysql.*
函数编写新代码。它们不再得到维护,社区已开始恢复。相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习,。你还应该阅读
WHERE
子句。你的代码相当于去一家杂货店,买下整个商店的存货,开车回家,然后扔掉所有的东西,因为你只想要一块巧克力。特雷斯科,谢谢你的回答——我想你应该把它作为完整的答案贴出来。@MarcB,不完全是。这就像去杂货店,买所有的巧克力棒,只扔掉那些不是好时制造的巧克力棒。这不是一个大数据库。我不知道WHERE语句允许我只检索一列。你是如何连接到数据库的,这似乎是你的第一个也是最大的问题?嘿,这是一个很好的建议,但我的问题实际上有点复杂。我只有数据库中的用户名。然后我想在另一个函数中插入这些用户名。上述功能可以访问一个命令行程序,该程序存储该用户的信息(例如,教员姓名)