gpt4 book ai didi

php - 使用 JOIN 和关联 ID 从两个表中选择和显示日期

转载 作者:行者123 更新时间:2023-11-29 05:09:39 27 4
gpt4 key购买 nike

我在一个 MySQL 表中有一个员工列表,在另一个表中有一个分配列表。

员工列表包含以下 4 个字段:

+––––––––––––––––––––––––––––––––––––––––––––––
| userid | emp_name | emp_email | emp_role |
–––––––––––––––––––––––––––––––––––––––––––––––
| 4 | Jane | emp@emp.com | admin |
–––––––––––––––––––––––––––––––––––––––––––––––
| 5 | John | emp2@emp.com | guest |
–––––––––––––––––––––––––––––––––––––––––––––––

assignments 表中,我有一个作业列表

+–––––––––––––––––––––––––––––––––––––––––––––––––––
| userid | job_name | job_numb | due_date |
––––––––––––––––––––––––––––––––––––––––––––––––––––
| 4 | Job1 | 012221200000 | 01/21/2017 |
––––––––––––––––––––––––––––––––––––––––––––––––––––
| 5 | Job2 | 012221200001 | 01/24/2017 |
––––––––––––––––––––––––––––––––––––––––––––––––––––

我想要的是让数据可以访问两个表中的所有信息。我最初写的是:

<?php
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM assignments JOIN employees";
$results = mysqli_query($conn, $sql);
?>

然后在一个循环中:

<table>

<?php
foreach ($results as $result){
$userid = $result['userid'];
$emp_name = $result['emp_name'];
$emp_email = $result['emp_email'];
$emp_role = $result['emp_role'];
$job_name = $result['job_name'];
$job_numb = $result['job_numb'];
$due_date = $result['due_date'];

<tr>
<td><?php echo $emp_name;?></td>
<td><?php echo $emp_email;?></td>
<td><?php echo $emp_role;?></td>
<td><?php echo $job_name;?></td>
<td><?php echo $job_numb;?></td>
<td><?php echo $due_date;?></td>
?>
<?php
}
?>
</table>

当然,这只是输出所有内容。我无法理解如何将表 1 中的数据关联到表 2,所以我得到的是与该工作相关的员工的电子邮件和姓名。有没有办法在 foreach 语句中加入条件?

最佳答案

据我所知,您忘记了 JOIN 条件 (a.userid = e.userid)。如果您的 SQL 语句的 WHERE 子句中没有此条件,您将得到 cross product。两个表中的所有元组。

试试下面的语句:

SELECT * FROM assignments a JOIN employees e WHERE a.userid = e.userid;

请注意,为了简洁起见,我为这两个表引入了别名。

关于php - 使用 JOIN 和关联 ID 从两个表中选择和显示日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41641770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com