gpt4 book ai didi

PHP,帮助显示相关表的查询结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:01 25 4
gpt4 key购买 nike

我刚开始使用数据库,为了练习,我创建了一个名为“公司”的简单数据库,其中包含三个表:员工、部门、职位。员工表中的字段是:id、name、dept_id、pos_id,我使用外键将部门和职位与员工相关联。

我想显示这样的信息:

Department 1
Directors: Kevin, Jane, Tom
Managers: Joe, Fred, Mary

Deparment 2
Directors: Bill, Elizabeth, Frank
Managers: Jennifer, Brian, Nicole

我使用 JOIN 语句返回所有员工及其相关职位和部门,但我无法找出正确的 PHP 来显示它们,如上例所示。我不应该使用 JOINS 吗?

SQL:

$sql = "SELECT employee.name, position.pos_name, department.dept_name 
FROM employee
INNER JOIN position
ON employee.pos_id = position.id
INNER JOIN department
ON employee.dept_id = department.id";

$result = $dbconn->query($sql);

任何帮助都会很棒,

谢谢

最佳答案

什么是$result?它是数据库资源,还是 query() 方法返回一个数组?

假设 $result 是一个由 query() 方法返回的关联数组,您应该能够遍历它并使用条件来获取您需要的信息。

foreach($result as $row)
{
switch($row['department.dept_name']) {
case "department 1"
if($row['position.pos_name']) == 'Director') {
$department1['directors'][] = $row['employee.name'];
} else if($row['position.pos_name'] == 'Manager') {
$department1['managers'][] = $row['employee.name'];
}
break;

case "department 2"
//repeat for each department

}
}

这将为您提供每个部门的关联数组,然后您可以迭代这些数组并以您描述的格式回显 HTML。

如果 $result 是数据库资源而不是数组,那么您需要执行如下操作:

while($row = mysql_fetch_assoc($result))
{
$data[] = $row;
}

然后在 foreach 语句中使用 $data 而不是 $result。

关于PHP,帮助显示相关表的查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242335/

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