PHP显示来自两个单独表格的信息

时间:2014-01-12 20:40:47

标签: php mysql sql

我有一个包含用户数据库的网页,每个用户都有一个唯一的用户ID。现在我创建了一个启动会话的登录页面,会话中包含用户ID。

我还有一个“更新状态”选项,用户键入状态,并将状态和用户唯一ID提交到新表中。因此,该表将具有用户ID和用户输入的状态。

现在我想在页面上显示用户状态,并且我想要显示用户的用户名。所以基本上代码必须从状态表中获取用户ID,然后将其与Users表中的用户ID相匹配,并且必须从users表中为匹配ID提供用户名。

* 最终工作代码 *

//连接到mysql 的mysql_connect( “本地主机”, “根”, “”);

//连接数据库 mysql_select_db( “用户”);

//查询数据库 $ query =“select * \ n”     。 “来自状态内部联接用户\ n”     。 “on status.user_id = users.id \ n ORDER BY users.id DESC”;

//获取结果/将结果转换为数组

            $result = mysql_query($query);
            while ($row = mysql_fetch_array($result)) {
                $s_firstname = $row['firstname'];
                $s_lastname = $row['lastname'];
                $s_status = $row['status']   

}

1 个答案:

答案 0 :(得分:2)

我建议花一些时间了解sql中的连接。您只需要一个SQL查询,它就像这样......

select * 
  from status inner join users 
  on status.userid = users.userid
  where active = '1' and connect = '1'

编辑:虽然不建议使用mysql函数(请参阅本页顶部的注释 - http://uk3.php.net/mysql_query),但您的行应该是这样的..

$query = "select * from status inner join users on status.user_id = users.id where active = '1' and connect = '1'";

$result = mysql_query($query);

WHILE ($row = mysql_fetch_array($result)){

...  rest of your code....