首页 > 解决方案 > mysql php的左连接查询

问题描述

我正在做一个有两个表的项目,其中一个是用户表,另一个是部门表。在这里,我已经将部门表的外键连接到用户表并检查它是否正常工作。(获取特定外键的数据)。现在我的要求是在一个表中我想显示所有用户以及外键值。这里。

require_once "database.php";

$result = "SELECT * FROM Users";
// , Department WHERE Department.Department_ID = Users.Dpt_id
$output = mysqli_query($conn, $result);


<?php
          while ($single = $output->fetch_assoc()):?>
      <tr>
          <td><?php echo $single['firstname']; ?></td>
          <td><?php echo $single['lastname']; ?></td>
          <td><?php echo $single['email']; ?></td>
          <td><?php echo $single['phnumber']; ?></td>
          <td><?php echo $single['provider']; ?></td>
          <td><?php echo $single['location']; ?></td>
          <td><?php echo $single['Dpt_id']; ?>
            


          </td>
          <td><?php if ($single['Dadmin'] == 1){
                echo '<p>Department admin</p>';
            }
            elseif($single['Superuser'] == 1){
              echo '<p>SUPER</p>';
            }
            else{
              echo '<p>USER</p>';
            }

            ?></td>
<?php endwhile ?>

试过的代码:

$result = "SELECT * FROM Users, Department WHERE 
Department.Department_ID = Users.Dpt_id";
$output = mysqli_query($conn, $result);

所以这是我的代码。请帮我从外键中获取值。

标签: phphtmlmysqlforeign-keys

解决方案


我想你想要这个结果,但我不知道你的列名:

SELECT u.*, d.department_name
FROM USERS u
LEFT JOIN Department d 
ON u.dpt_id = d.department_id

推荐阅读