php - 有没有办法从表 #2 中获取数据,如果它具有表 #1 的外键并且我查询表 #1
问题描述
我有 2 个表,一个叫做 users,还有一个叫做 role_id 的表,它使用外键从第二个叫做角色的表中获取数据。所以 role_id 是角色的 id,但我想获取位于角色表中的值并打印它而不是 id。我什至不知道该怎么做。所以如果我们看代码:我想回显角色的值而不是role_id,但它位于另一个表中
$querytable = mysqli_query($con, "SELECT * from users WHERE role_id = '2' OR role_id = '1'");
while($row=$querytable->fetch_assoc()):?>
<tr><td><?php echo $row['username'];?></td>
<td><?php echo $row['fio'];?></td>
<td><?php echo $row['password'];?></td>
<td><?php echo $row['role_id'];?></td>
<td><?php echo $row['salary_fix'];?></td>
<td><?php echo $row['salary_percent'];?></td></tr>
<?php endwhile;?>
解决方案
您可以使用 JOIN 从链接表中获取数据
像那样:
SELECT * from users
JOIN roles ON users.role_id = roles.id
WHERE role_id IN (1, 2)
然后您将获得每个用户的表角色中的值
查看文档以获取更多信息
推荐阅读
- php - 通过引用 php
- matlab - 非线性曲线拟合——fitnlm 和 lsqcurvefit 给出不同的误差值
- terraform - 从 for_each 中访问模块(避免循环)
- javascript - flex 项目在悬停时改变它的标题位置,而它不应该
- apache-spark - 在 PySpark 中读取嵌套的 Json 结构
- r - 决策树的“不能对不存在的列进行子集化”
- postgresql - 如何获得与 Liquibase 一起使用的 postgresql string_to_array 函数
- android - 显示 ContextMenu 时未调用 Activity.dispatchGenericMotionEvent
- graphql-java - graphql-java SPQR:如何使用@GraphQLUnion 注解?
- javascript - 如何创建可用作 h1、h2、h3、h4..etc 的 Typography 组件