Php 为条件分配多个变量

Php 为条件分配多个变量,php,mysql,if-statement,Php,Mysql,If Statement,目前,我在一个数据库中有三个表,其中保存了有关患者疾病、优先级和等待时间的数据。我希望将患者优先级和疾病分配给预期等待时间,例如:如果患者优先级较低且非紧急,则预期等待时间=3小时 以下是表格,其中包含有关优先级、疾病和等待时间的信息 Priority Table High Moderate Low Illness Table Critical Immediate Non-urgent Expected_Waiting_time 0 - 10 (mins) 30 - 60 60 -

目前,我在一个数据库中有三个表,其中保存了有关患者疾病、优先级和等待时间的数据。我希望将患者优先级和疾病分配给预期等待时间,例如:如果患者优先级较低且非紧急,则预期等待时间=3小时

以下是表格,其中包含有关优先级、疾病和等待时间的信息

Priority Table
High
Moderate 
Low 

Illness Table
Critical 
Immediate 
Non-urgent

Expected_Waiting_time
0 - 10 (mins)
30 - 60
60 - 90
etc 
编辑:

输出示例

PatientID  Illness      Priority   Expected waiting time 
 1         non-urgent    Low        3 hours 
 2         non-urgent     Low       3 hours 
 3         Critical       High      0
 4         Immediate      Moderate  1-2 hours

创建一个表,将等待疾病优先级链接起来。然后根据其他两个值选择“等待”

从wait_表中选择wait,其中disease=和priority=

该表将所有独特的疾病优先级组合分配给适当的等待

这是一把小提琴。这很简单。


你的数据库
让我们从头开始。表是成功计算和存储客户机等待时间所需的所有后端数据

你的优先表

您有一个
优先级
表,其中有一个值。这是第一个警报。如果它只有一个值,作为另一个表的字段不是更好吗?也许将其与患者的详细信息相结合,意味着只需客户的详细信息,您就可以访问他们的所有信息。也许是这样的:

Client Table
ClientID    ClientName    ClientPriority
这意味着,通过客户端的名称,您可以推断它们的优先级

病床

这意味着,随着客户的疾病,你可以达到他们的疾病水平

您的等候时间表

我想这是好的,因为它是。将等待时间放在不同的表中意味着您可以在需要时更改它们。不过,我的建议是改变它,所以它看起来更像这样。这些数字是任意的,您可以根据您用于优先级和疾病严重程度的值根据需要进行更改

Expected_Waiting_time
Waiting_Time    PatientScore
0 - 10 (mins)   10
30 - 60         5
60 - 90         1

您的编程逻辑
获取必要的信息

现在,你需要了解患者的详细情况,以及他们的病情。假设客户给你他们的名字或身份证。通常,在医生那里,你提供某种会员卡,他们从中获得你的详细信息,因此申请身份证是完全正常的做法

Client Inputs: ID 1
Client Illness: A Cold
从客户机的ID,使用一些SQL调用数据库:

SELECT * FROM Clients WHERE ClientID=:ID
注意这里我使用了一个预先准备好的语句。如果你不知道这些是什么,那么你需要仔细阅读它们

一旦您请求了客户的详细信息,您就有了他们的优先权。接下来,你要谈谈他们的病情

SELECT * FROM Illness WHERE IllnessID = :IllnessID
再一次,使用一个简单的SQL语句,我们了解了关于疾病的所有细节

执行计算

在本节中,您需要使用您得到的值来计算分数。例如,假设10是一个高优先级的患者,并且患者出现了
严重的
疾病,那么您可以说他们的得分为20

只需查询数据库,查找最接近20的值。如果你不知道如何做到这一点,阅读一些帮助


瞧,你有你的等待时间。

我的第一个观察是,你的数据点似乎没有意义。如果某人是关键人物,那么根据定义他们是高优先级的,如果他们不是紧急的,那么他们将是低优先级的。您的表似乎以不同的方式重复相同的信息

此外,从一组显示“60到90”分钟的数据中,您无法获得“3小时”的绝对等待时间。你最终会得到一个范围

然而,如果我们假设可能存在关键低优先级或非紧急高优先级,那么:


您需要一个将优先级和/或疾病与等待时间联系起来的表格。您没有给出示例来说明它们是累积的还是基于配对的不同。如果是前者,则只需在每个疾病和优先级表中添加一个时间列,就可以将这些值相加。如果后者随后构建一个包含所有可能的疾病和优先级组合的表并加入该表。

还有,您尝试了什么?目前,我有一个表输出患者信息,如姓名、疾病、,疾病等,但我不知道如何将他们的疾病和优先级分配给预期等待时间这不会导致大量重复数据吗?我目前有一个带有疾病、优先级、预期时间的优先级时间表,我会将此表链接到三个表吗?我希望疾病“非紧急”,优先级“低”分配给预期等待时间“3小时”。这可能吗?当然可以-但在查找时使用数字代替文本。您可以稍后加入以添加文本。“在pri=3(低)和疾病=3(小)的等待中选择等待;
SELECT * FROM Illness WHERE IllnessID = :IllnessID