Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取计数并显示要显示的订单号_Php_Mysql - Fatal编程技术网

Php 获取计数并显示要显示的订单号

Php 获取计数并显示要显示的订单号,php,mysql,Php,Mysql,我有一张桌子可以拉这个: $nurse_query = "SELECT * FROM patientinfo WHERE SCHDT = '$currentdate' AND SURGEON NOT LIKE 'NOT ON FILE' OR SCHDT = '$currentdate' AND TASK LIKE 'CLINIC%' Order By COLBY_Arrival_time_1,SCHTM ASC"; 它按到达时间和手术时间显示我们一天内的所有手术。效果很好。现在他们想

我有一张桌子可以拉这个:

 $nurse_query = "SELECT * FROM patientinfo WHERE SCHDT = '$currentdate'
 AND SURGEON NOT LIKE 'NOT ON FILE' OR SCHDT = '$currentdate' AND TASK
 LIKE 'CLINIC%'  Order By COLBY_Arrival_time_1,SCHTM ASC";
它按到达时间和手术时间显示我们一天内的所有手术。效果很好。现在他们想让我根据外科医生和手术时间得到病人的订单号。例如:

如果前六次手术是:

Patient       Surgery Time        Surgeon
Smith          0800                Lees
Johnson        0815                Kaiser
Minnie         0800                Pappy
Niehaus        0900                Pappy
Kurle          0930                Lees
Kusiek         1000                Kaiser
Johnson        1000                Pappy
我会像这样展示它

Surgery Time       Patient        Surgeon      Order
0800               Smith           Lees          1
0800               Minnie          Pappy         1
0815               Johnson         Kaiser        1
0900               Niehaus         Pappy         2
0930               Kurle           Lees          2
1000               Kusiek          Kaiser        2
1000               Johnson         Pappy         3
添加新患者时,应自动重新排列医嘱号

试试这个:

select surgery_time, patient, surgeon, count(surgeon) as ord from patientinfo group by surgeon,surgery_time order by surgery_time,ord

+--------------+---------+---------+-----+
| surgery_time | patient | surgeon | ord |
+--------------+---------+---------+-----+
| 0800         | smith   | lees    |   1 |
| 0800         | Minnie  | Pappy   |   1 |
| 0815         | johnson | kaiser  |   1 |
| 0900         | Niehaus | Pappy   |   1 |
| 0930         | Kurle   | lees    |   1 |
| 1000         | kusiek  | kaiser  |   1 |
| 1000         | Johnson | Pappy   |   1 |
+--------------+---------+---------+-----+
只有一件事它不会显示每次计数

请尝试以下方法:

select surgery_time, patient, surgeon, count(surgeon) as ord from patientinfo group by surgeon,surgery_time order by surgery_time,ord

+--------------+---------+---------+-----+
| surgery_time | patient | surgeon | ord |
+--------------+---------+---------+-----+
| 0800         | smith   | lees    |   1 |
| 0800         | Minnie  | Pappy   |   1 |
| 0815         | johnson | kaiser  |   1 |
| 0900         | Niehaus | Pappy   |   1 |
| 0930         | Kurle   | lees    |   1 |
| 1000         | kusiek  | kaiser  |   1 |
| 1000         | Johnson | Pappy   |   1 |
+--------------+---------+---------+-----+

它唯一没有显示每次计数的内容可能是您想要显示的表数据

Patient Surgery     Time Surgeon
Smith Lees          0800 
Johnson Kaiser      0815 
Minnie Pappy        0800 
Niehaus Pappy       0900 
Kurle Lees          0930 
Kusiek Kaiser       1000 
Johnson Pappy       1000 


Surgery Time    Patient         Surgeon Order 
0800            Smith Lees      1 
0800            Minnie  Pappy   1 
0815            Johnson Kaiser  1 
0900            Niehaus Pappy   2 
0930            Kurle Lees      2
1000            Kusiek Kaiser   2 
1000            Johnson Pappy   3

要这样使用,

可能这就是您要显示的表数据

Patient Surgery     Time Surgeon
Smith Lees          0800 
Johnson Kaiser      0815 
Minnie Pappy        0800 
Niehaus Pappy       0900 
Kurle Lees          0930 
Kusiek Kaiser       1000 
Johnson Pappy       1000 


Surgery Time    Patient         Surgeon Order 
0800            Smith Lees      1 
0800            Minnie  Pappy   1 
0815            Johnson Kaiser  1 
0900            Niehaus Pappy   2 
0930            Kurle Lees      2
1000            Kusiek Kaiser   2 
1000            Johnson Pappy   3

要这样使用,

不可能知道表名/列名,但我假设您需要从两个不同的表中获取信息,在这种情况下,这可能是一个很好的指导线

联接(在本例中为内部联接)还允许您根据与当前表中当前行相似的字段从不同的表中提取行

SELECT 
    *
FROM 
    patientinfo
LEFT JOIN otherTable ON patientinfo.SCHDT  = otherTable.SCHDT AND patientinfo.SURGEON = otherTable.SURGEON
WHERE
    (patientinfo.SCHDT = '$currentdate' AND patientinfo.SURGEON NOT LIKE 'NOT ON FILE')
    OR
    (patientinfo.SCHDT = '$currentdate' AND patientinfo.TASK LIKE 'CLINIC%')
ORDER BY 
    COLBY_Arrival_time_1, SCHTM ASC";
编辑

谢谢你的澄清,但你真的应该已经为我们的工作张贴了列名

不管怎样,我能用我的另一张桌子得到我想要的东西。 这有点牵强,可能有人会采用更好的方法,但这就是我现在得到的。(这需要您进行分析,以便为您的特定表工作)


不可能知道表名/列名,但我假设您需要从两个不同的表中获取信息,在这种情况下,这可能是一个很好的指南

联接(在本例中为内部联接)还允许您根据与当前表中当前行相似的字段从不同的表中提取行

SELECT 
    *
FROM 
    patientinfo
LEFT JOIN otherTable ON patientinfo.SCHDT  = otherTable.SCHDT AND patientinfo.SURGEON = otherTable.SURGEON
WHERE
    (patientinfo.SCHDT = '$currentdate' AND patientinfo.SURGEON NOT LIKE 'NOT ON FILE')
    OR
    (patientinfo.SCHDT = '$currentdate' AND patientinfo.TASK LIKE 'CLINIC%')
ORDER BY 
    COLBY_Arrival_time_1, SCHTM ASC";
编辑

谢谢你的澄清,但你真的应该已经为我们的工作张贴了列名

不管怎样,我能用我的另一张桌子得到我想要的东西。 这有点牵强,可能有人会采用更好的方法,但这就是我现在得到的。(这需要您进行分析,以便为您的特定表工作)



你能把你的表格模式和一些样本数据一起发布吗?不确定你所说的表格模式列是什么意思:ID PATNUM AGE SEX SCHDT SCHTM外科医生任务COLBY_Arrival_time_1 Complete我在上面展示了一些样本数据……我想他和其他试图帮助你的人一样,会对你希望从哪里提取这个订单号感兴趣。它是从表中读取的,还是生成的?还是什么?订单号将根据从数据库中提取的信息生成。您可以发布您的表架构以及一些示例数据吗?不确定您所说的表架构列是什么意思:ID PATNUM AGE SEX SCHDT SCHTM外科医生任务COLBY_Arrival_time_1 Complete我在上面显示了一些示例数据…我想他和其他试图提供帮助的人一样,我想知道您希望从何处获取此订单号。它是从表中读取的,还是生成的?将根据从数据库中提取的信息生成“医嘱号”。医嘱是表中的一个字段,是否要作为结果显示。。如果是这样的话,为什么约翰逊和帕皮有3个,而库西耶克和凯撒有3个,将根据提取的数据生成订单。它不是表格中的字段。外科医生医嘱是表格中要作为结果显示的字段。。如果是这样的话,为什么约翰逊和帕皮有3个,而库西耶克和凯撒有3个,将根据提取的数据生成订单。它不是表格中的一个字段有一个表格查询:$nurse_query=“SELECT*FROM patientinfo,其中SCHDT=$currentdate”和外科医生不喜欢“not ON FILE”或SCHDT=$currentdate”和类似于“CLINIC%”的任务,按COLBY_Arrival_time_1,SCHTM ASC排序;将所有数据拉到一个页面。我只需要为特定外科医生添加计数/订单。因此,查询可能会为一名外科医生提取10个病例,我需要它按SCHTM将这些病例编号为1-10,并生成医嘱编号,以按患者姓名显示。因此,如果外科医生A有10个病例,那么他的病例数应该是1-10。外科医生B有8个病例,手术编号为1-8。有一个表格查询:$nurse_query=“SELECT*FROM patientinfo,其中SCHDT='currentdate',外科医生不喜欢'NOT ON FILE',或SCHDT='currentdate',以及类似于任务的'CLINIC%'命令,按COLBY_Arrival_time_1,SCHTM ASC;将所有数据拉到一个页面。我只需要为特定外科医生添加计数/订单。因此,查询可能会为一名外科医生提取10个病例,我需要它按SCHTM将这些病例编号为1-10,并生成医嘱编号,以按患者姓名显示。因此,如果外科医生A有10个病例,那么他的病例数应该是1-10。外科医生B有8个病例,手术编号为1-8,如果您希望“添加新患者时,应自动重新排列医嘱编号”,您应该执行推送请求或使用ajax不时更新页面。外科医生订单不在数据库中。。。我怎么才能得到那个数字?这是我的问题是?现在你想对suregon和time进行计数吗?我尝试了计数(外科医生),但它只提取了一张记录。并非所有记录都显示。该页面位于内部服务器上,因此我无法发送链接。对我来说,它会显示所有记录。如果您希望“当添加新患者时,它会自动重新排列医嘱号”,您应该执行推送请求,或者只是使用ajax不时更新页面。外科医生的医嘱不在数据库中。。。我怎么才能得到那个数字?这是我的问题是?现在你想对suregon和time进行计数吗?我尝试了计数(外科医生),但它只提取了一张记录。并非所有记录都显示。该页面位于内部服务器上,因此我无法发送链接。对我来说,它显示所有记录