显示外键数据(名称等),而不仅仅是 HTML 表中的外键

安迪·特里

作为作业的一部分,我正在为 Drs Practice 创建一个医疗应用程序。

我有一个表格,它显示与访问表的信息,该表格链接在此处的图像中。 mysql信息

目前该表正在显示像这样的外键的 Id 值

预约表

例如,我如何显示文本值而不是患者姓名为 9,我想显示表格其余部分的实际姓名等。

所以它会显示为

patient name | doctor | condition | medication prescribed | Date
Andrew Terry | Dr Iqbal | Depression | Fluoxetine | 20th April 2018

当我解决这个问题时,我也想添加一个搜索,我可以在其中搜索特定时间段内具有特定条件的患者。

当前代码如下

    <?php // Include config file
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/config.php");
?>
<?php // Include header File
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/header.php");
?>
<?php
if (!$db) {
    die ('Failed to connect to MySQL: ' . mysqli_connect_error());  
}

$sql  = "SELECT * FROM visit JOIN doctor
            ON visit.doctor_id = doctor.doctor_id 
            JOIN patient
            ON visit.patient_id = patient.patient_id
            WHERE patient.patient_id BETWEEN 1 AND 9
            ORDER BY date DESC";


$query = mysqli_query($db, $sql);

if (!$query) {
  die ('SQL Error: ' . mysqli_error($db));
  }
?>

<body>
<?php // Navigation File
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/nav.php");?>
<div class="container"><br><br>
<?php include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/logo.html"); ?>

  <h2>APPOINTMENTS</h2>

  <p>Most Recent Appointments:</p>            
  <table class="table table-striped">
  <thead>
      <tr>
        <th>Patient Name</th>
        <th>Doctor</th>
        <th>Condition</th>
        <th>Medication Prescribed</th>
        <th>Date</th>
        <th></th>
      </tr>
    </thead>
    <tbody>
    <?php
        $no     = 1;
        $total  = 0;
        while ($row = mysqli_fetch_array($query))
        {
            echo '<tr>
                    <td>'.$row['patient_id'].'</td> 
                    <td>'.$row['doctor_id'].'</td> 
                    <td>'.$row['con_id'].'</td> 
                    <td>'.$row['drugs_id'].'</td> 
                    <td>'.$row['date'].'</td> 
                    <td><a href="deleteapp.php?id='.($row['visit_id']).'" class="btn btn-danger pull-right btn-xs">Delete</a></td>
                    </tr>';    
            $no++;
        }?>
    </tbody>
  </table>
  <a href="newapp.php" class="btn btn-success pull-left">New Appointment</a>
  <a href="../" class="btn btn-info pull-right">Admin Area</a>
</div>

</body>
</html>

我已经在@kamal 帮助之后修改了代码。但现在我收到了未定义的通知错误。

代码如下

<?php // Include config file
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/config.php");
?>
<?php // Include header File
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/header.php");
?>
<?php
if (!$db) {
    die ('Failed to connect to MySQL: ' . mysqli_connect_error());  
}

$sql  = "$sql  = "SELECT patient.fName AS pfname, patient.sName AS psname, doctor.sName AS doc, conditions.con_name AS con, drugs.medication AS meds, visit.visitdate FROM visit 
            JOIN doctor ON visit.doctor_id = doctor.doctor_id
            JOIN patient ON visit.patient_id = patient.patient_id
            LEFT JOIN conditions ON visit.con_id = conditions.con_id
            LEFT JOIN drugs ON visit.drugs_id = drugs.med_id
            WHERE patient.patient_id BETWEEN 1 AND 100
            ORDER BY date DESC";


$query = mysqli_query($db, $sql);

if (!$query) {
  die ('SQL Error: ' . mysqli_error($db));
  }
?>

<body>
<?php // Navigation File
include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/nav.php");?>
<div class="container"><br><br>
<?php include("$_SERVER[DOCUMENT_ROOT]/freddies/inc/logo.html"); ?>

  <h2>APPOINTMENTS</h2>

  <p>Most Recent Appointments:</p>            
  <table class="table table-striped">
  <thead>
      <tr>
        <th>Patient Name</th>
        <th>Doctor</th>
        <th>Condition</th>
        <th>Medication Prescribed</th>
        <th>Date</th>
        <th></th>
      </tr>
    </thead>
    <tbody>
    <?php
        $no     = 1;
        $total  = 0;
        while ($row = mysqli_fetch_array($query))
        {
            echo '<tr>
                    <td>'.$row['pfName'].'</td> 
                    <td>'."Dr ".$row['doc'].'</td> 
                    <td>'.$row['con'].'</td> 
                    <td>'.$row['meds'].'</td> 
                    <td>'.$row['date'].'</td> 
                    <td><a href="deleteapp.php?id='.($row['visit_id']).'" class="btn btn-danger pull-right btn-xs">Delete</a></td>
                    </tr>';    
            $no++;
        }?>
    </tbody>
  </table>
  <a href="newapp.php" class="btn btn-success pull-left">New Appointment</a>
  <a href="../" class="btn btn-info pull-right">Admin Area</a>
</div>

</body>
</html>

我现在得到以下信息。在此处输入图片说明

卡迈勒·乔希

我假设以下答案中的表格很少。

这里你的查询应该像评论中提到的@Barmar 一样:

SELECT fName,date,visit_id,patient.patient_name, doctor.name AS doctor_name, condition.name AS condition_name, drugs.name AS drugs_name FROM visit JOIN doctor
        ON visit.doctor_id = doctor.doctor_id 
        JOIN patient
        ON visit.patient_id = patient.patient_id
        LEFT JOIN condition ON visit.con_id = condition.id
        LEFT JOIN drugs ON visit.drugs_id = drugs.id
        WHERE patient.patient_id BETWEEN 1 AND 9
        ORDER BY date DESC

然后在你的 PHP 代码中,你应该在 while 循环中更改列名,如下所示:

echo '<tr>
                <td>'.$row['patient_name'].'</td> 
                <td>'.$row['doctor_name'].'</td> 
                <td>'.$row['condition_name'].'</td> 
                <td>'.$row['drugs_name'].'</td> 
                <td>'.$row['date'].'</td> 
                <td><a href="deleteapp.php?id='.($row['visit_id']).'" class="btn btn-danger pull-right btn-xs">Delete</a></td>
                </tr>';   

我希望这会帮助你继续前进。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在选择查询中使用数据填充外键字段,而不仅仅是外键 ID?

来自分类Dev

SQL获取特定列,不仅仅是外键

来自分类Dev

使用外键不仅仅是为了限制

来自分类Dev

Redis-不仅仅是键查询

来自分类Dev

如何停止和恢复HTML5中的实时音频流而不仅仅是暂停它?

来自分类Dev

ORA-01790数据类型:如何添加使用名称中的文本的能力,而不仅仅是数字

来自分类Dev

add_header需要3个参数,而不仅仅是键/值

来自分类Dev

不仅仅是变量中的Like语句

来自分类Dev

在页面加载时显示DIV,而不仅仅是下拉列表的“更改中”

来自分类Dev

在MongoEngine查询中获取引用对象的数据,而不仅仅是id

来自分类Dev

遍历行,数据,而不仅仅是在Jinja模板中打印表

来自分类Dev

Angular 8-Typescript-捕获订阅中的数据错误,而不仅仅是标题

来自分类Dev

正则表达式来识别特定的字符串,而不仅仅是键

来自分类Dev

如何显示所有结果,而不仅仅是代表计算器中的一个

来自分类Dev

ng-select会在列表中显示所有可用选项,而不仅仅是一行?

来自分类Dev

根据用户输入更新数据表,包括相应列的更新,而不仅仅是已编辑的列

来自分类Dev

从文件夹中的文件列表中提取数据到母版,而不仅仅是复制和粘贴

来自分类Dev

从数据框中删除重复行的所有副本(而不仅仅是重复副本)

来自分类Dev

R抓取整个html,而不仅仅是页面视图

来自分类Dev

使用 base.html 文件但修改的不仅仅是正文

来自分类Dev

使用group by的sql不仅仅是一个表

来自分类Dev

SQL Server-更新`sys。*'表,而不仅仅是读取它们

来自分类Dev

使用group by的sql不仅仅是一个表

来自分类Dev

从数组中删除双精度值,而不仅仅是javascript中的重复项

来自分类Dev

为什么是xmlns:xsi,而不仅仅是XML文档中的xsi?

来自分类Dev

如何从列表中删除多个项目,而不仅仅是访问它们

来自分类Dev

MS Word中的VBA会影响整个文档,而不仅仅是选择

来自分类Dev

导入运行模块中的所有代码,而不仅仅是导入的功能

来自分类Dev

EWS:从签名的电子邮件中获取的不仅仅是附件

Related 相关文章

  1. 1

    如何在选择查询中使用数据填充外键字段,而不仅仅是外键 ID?

  2. 2

    SQL获取特定列,不仅仅是外键

  3. 3

    使用外键不仅仅是为了限制

  4. 4

    Redis-不仅仅是键查询

  5. 5

    如何停止和恢复HTML5中的实时音频流而不仅仅是暂停它?

  6. 6

    ORA-01790数据类型:如何添加使用名称中的文本的能力,而不仅仅是数字

  7. 7

    add_header需要3个参数,而不仅仅是键/值

  8. 8

    不仅仅是变量中的Like语句

  9. 9

    在页面加载时显示DIV,而不仅仅是下拉列表的“更改中”

  10. 10

    在MongoEngine查询中获取引用对象的数据,而不仅仅是id

  11. 11

    遍历行,数据,而不仅仅是在Jinja模板中打印表

  12. 12

    Angular 8-Typescript-捕获订阅中的数据错误,而不仅仅是标题

  13. 13

    正则表达式来识别特定的字符串,而不仅仅是键

  14. 14

    如何显示所有结果,而不仅仅是代表计算器中的一个

  15. 15

    ng-select会在列表中显示所有可用选项,而不仅仅是一行?

  16. 16

    根据用户输入更新数据表,包括相应列的更新,而不仅仅是已编辑的列

  17. 17

    从文件夹中的文件列表中提取数据到母版,而不仅仅是复制和粘贴

  18. 18

    从数据框中删除重复行的所有副本(而不仅仅是重复副本)

  19. 19

    R抓取整个html,而不仅仅是页面视图

  20. 20

    使用 base.html 文件但修改的不仅仅是正文

  21. 21

    使用group by的sql不仅仅是一个表

  22. 22

    SQL Server-更新`sys。*'表,而不仅仅是读取它们

  23. 23

    使用group by的sql不仅仅是一个表

  24. 24

    从数组中删除双精度值,而不仅仅是javascript中的重复项

  25. 25

    为什么是xmlns:xsi,而不仅仅是XML文档中的xsi?

  26. 26

    如何从列表中删除多个项目,而不仅仅是访问它们

  27. 27

    MS Word中的VBA会影响整个文档,而不仅仅是选择

  28. 28

    导入运行模块中的所有代码,而不仅仅是导入的功能

  29. 29

    EWS:从签名的电子邮件中获取的不仅仅是附件

热门标签

归档