php,mysql,html - 在 HTML 中正确显示 SQL 查询(连接)

标签 php html mysql css

我想显示只会出现一次的医生的姓名及其适当限制的专业。我在这里有我的查询

select a.emp_fname,a.emp_lname,b.hcp_name, c.*, d.*,e.spec_type
from ehr_employee a
inner join ehr_c_hcp_emp c
on a.emp_id=c.emp_id
inner join ehr_hcp b
on b.hcp_id=c.hcp_id
inner join ehr_c_doc_spec d
on d.emp_id=a.emp_id
inner join ehr_specialization e
on e.spec_id=d.spec_id

ehr_c_hcp_emphcp_emp_id emp_id hcp_id(员工表和 hcp 表的连接)。
ehr_c_doc_specdoc_spec_id emp_id spec_id (员工和专业表的连接)。为什么会这样,因为医生/员工可以在 1 个或多个不同的医院工作,并且可以拥有 1 个或多个专业。
上面的查询显示了这个结果

emp_fname   emp_lname   hcp_name   spec_type
John        Doe         Hospital   Cardio
John        Doe         Clinic     Cardio
John        Doe         Hospital   Psych
John        Doe         Clinic     Psych

我的 php-html 代码是这样写的

 <?php
$sel_admin = "*The query above*";
$rs_admin = mysql_query($sel_admin);
while($row = mysql_fetch_array($rs_admin))
{      
  echo" <tr class='gradeX'> ";
  echo "<td>" .$row['emp_fname']." ".$row['emp_lname']. "</td>";
  echo "<td>" .$row['hcp_name']. "</td>";
  echo "<td>" .$row['spec_type']. "</td>";
  echo"</tr>";
}
  ?>

它就像上面的查询一样产生

我想实现的是这样的一行

John Doe    Hospital    Psych
            Clinic      Cardio 



注意:我也有很多这样的数据,我只是像可视化一样显示了它

最佳答案

我个人的解决方案是创建简单的结果集构建器,就像这样。然后你可以在行中做另一个 foreach。问题是,你是否想要每条记录的新行。因为那时@marc-b 的答案是正确的并且适用于多页。

$tableData = [];
$sqlData = [
    0 => [
        'userId' => 3,
        'name' => 'Joe',
        'group' => 'Good'
    ],
    1 => [
        'userId' => 3,
        'name' => 'Joe',
        'group' => 'Bad'
    ]
];

foreach ($sqlData as $item) {
    if (!isset($tableData[$item['userId']])) {
        $tableData[$item['userId']] = [
            'name' => $item['name'],
            'groups' => []
        ];
    }

    $tableData[$item['userId']]['groups'][] = $item['group'];
}

$tableData = [
    3 => [
        'name' => 'Joe',
        'groups' => [
            0 => 'Good',
            1 => 'Bad'
        ]
    ]
];

关于php,mysql,html - 在 HTML 中正确显示 SQL 查询(连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37947991/

相关文章:

php - AWS 上的 504(网关超时)

php - 在 Laravel 5.1 中使用 .env 设置存储路径

php - Google App Engine 上的 WordPress 设置过程中出现错误

php - 批量插入限制 mySQL PHP

html - 具有固定和可变宽度的复杂布局,使用可见性的选项卡等

php - 语法错误或访问冲突

php - Functions.php 中的自定义函数缺少参数

html - 如何在没有屏幕闪烁的情况下浏览页面?

javascript - 在 javascript 中重新加载 div 在 div 中加载完整页面

MySql存储过程out id返回null