在哪里保存临时数据?

时间:2010-08-18 15:48:22

标签: php mysql codeigniter

我正在使用Codeigniter进行系统,这是我的第一个使用CI的系统,而且我也是PHP的新手。

我正在为医院做这件事,我有以下问题

  • 初级医生首先检查第一次就诊患者,然后如果他不能处理他们,请将他们转介给高级医生

  • 从登记室
  • 一些病人被送到眼睛检查室检查他们的眼睛,然后他们去找初级医生

同样明智地我将临时数据保存在系统上,从一个房间引用到另一个房间等等......

我需要将这些细节传达给每个人的主GUI;例如,在高级医生用户界面中,将有一个名为第一时间患者的标签,其中由初级医生转介的患者将向他展示!所以我需要提到从初级医生那里寄给高级医生的病人,并将其展示给高级医生的用户界面。

所以我的问题是如何保持这个临时数据被系统引用?将它们保存在表中是不合适的,因为我觉得因为在一天结束时这些数据不存储在任何地方,只有患者表和其他几个表将保存数据。

伙计们我怎样才能实现这种目标?任何实现这一目标的方法?更容易掌握的技术,这将允许我保留临时数据?请给我一些参考或代码帮助来解决这个问题。

的问候, Rangana

2 个答案:

答案 0 :(得分:4)

如果数据真的是临时的,并且一次只能由一个用户使用,则需要将其粘贴在会话中。

入门级课程在这里: http://www.w3schools.com/PHP/php_sessions.asp

但是,如果数据由不同的用户访问,但在接下来的几天根本不需要,或者您要存储大量数据,则应该将其保存在数据库中。

数据库应该能够存储大量数据,所以在一个小应用程序上没有太多理由继续清除它,但你还可以包括一个清理旧的或不相关的数据的内务处理功能。

然而,在处理医疗数据时,最好还是坚持一切。

答案 1 :(得分:0)

一切都可以用ajax(或总是刷新浏览器一段时间的东西,如元刷新标签),如果有任何患者转介他们,将通知高级/初级医生。

如果医生已经检索到通知,你需要在数据库中添加一个标志,这样它就不会再通知医生了。

例如您的数据库表:

Name of patient | referral | referrer | flag_retrieved

您需要在会话中指定转诊医生,以便检索正确的记录,然后通知医生

那么你的系统应该:

  • 请求数据库,如果有任何医生 随着时间的推移将患者转诊给他们(您可以使用ajax或meta标签)
  • 数据库将检查是否有任何记录匹配但尚未检索
  • 向浏览器发送请求,而不是通知医生是否有任何转诊患者。

如果你需要清理数据库,你可以在每天结束时使用cron删除表中的任何记录。