gpt4 book ai didi

php - MySQL,链接数据

转载 作者:行者123 更新时间:2023-11-29 03:12:20 25 4
gpt4 key购买 nike

我是一家医院的志愿者,我正在开发一个网络应用程序。我是一名系统管理员,我知道一些 php、html 和 javascript。
我们把笔记本电脑借给病人,他们使用它们,回家后我们把笔记本电脑拿回来。我编写了一个自定义版本的 clonezilla,它可以对笔记本电脑进行成像,它们在外部进行清洁,然后可以分发给另一位患者。
一位前志愿者建立了一个网页,护士可以从该网页提交笔记本电脑申请,或者因为病人已经回家而要求接走。有点像TOPdesk/HP Openview的自助服务模块。
我们仍然使用纸质表格进行管理,他们希望我将其数字化。有一个 mySQL 数据库,其中包含来自表单的请求。
现在我想要的是创建另一个包含笔记本电脑编号 (0-79) 的表,请求可以链接到该表。
然后志愿者可以选择一台膝上型电脑并查看对该膝上型电脑的所有请求。每个笔记本电脑状态(inclinic、notclean、clean)都有一个字段。

这就是他们最终想要的:
志愿者登录
有新的要求为患者 X 提供笔记本电脑
志愿者拿起笔记本电脑 65,将笔记本电脑的状态设置为“在诊所”,将请求链接到笔记本电脑 65 并转到患者处。
病人使用笔记本电脑
病人回家,护士在系统中提出请求,笔记本电脑可以在护士站领取。
志愿者拿起笔记本电脑开始清洁过程,
志愿者打开笔记本电脑 65 的页面,将状态设置为已清洁并将护士请求链接到笔记本电脑 65。

这是开发版本: http://activiteitenbegeleidingerasmusmc.nl/dev/rodev

获取今天所有请求的SQL:

$sql = "
SELECT *
FROM `TESTFORM`
WHERE date(submission_date)>=date( NOW())
ORDER BY `submission_id` DESC
LIMIT 0 , 20

PHP 来显示它们:

   while($row = mysql_fetch_assoc($res)) 
{
if( oneven($row['submission_id']) ) { $stijl="donker"; } else { $stijl="licht"; }
echo '<tr class='.$stijl.'><td>'.$row['soortmelding'].'</td><td>'.$row['afdeling'].'</td><td>'.$row['kamer'].'</td><td>'.$row['patient'].'</td><td>'.$row['submission_date'].'</td></tr>'."\r\n";

}

我的 SQL 知识很少,但我不需要复制粘贴解决方案。我已经阅读了有关 SQL 连接等的信息,但我一直无法找到明确的解释。我的数据库体验止步于DBASE。
我希望有人可以提供一些链接或信息,以便我可以继续该项目。

更新:我的问题是获取有关如何在 phpsql 中将请求链接到笔记本电脑并显示笔记本电脑的所有请求历史记录的一些信息...

最佳答案

第一步是分离不同的实体:

  • 笔记本电脑
  • 要求

这些是你的 table 。我们使用数字 ID“链接”它们(外键),因为它允许我们在不更改链接的情况下更改名称,并且因为使用固定大小实体的索引执行得更快。因此,我们得到这样的表的列:

笔记本电脑

  • laptopId
  • 品牌
  • 制造商序列号
  • ...等等 - w/e 有关您要存储的笔记本电脑本身的信息
  • currentState(States.stateId 的外键)

请求

  • requestId(主键)
  • 请求日期
  • performedBy(People.personId 的外键)
  • laptop(laptops.laptopId 的外键)
  • requestState(States.stateId 的外键)
  • ...关于您要存储的事件的备注或信息

  • personId(主键)
  • 名字
  • 姓氏
  • ...等等

  • stateId(主键)
  • 简称
  • 评论(对简称的有用解释)

现在一些关于如何检索有用信息的例子。连接部分有额外的缩进:

列出笔记本电脑的当前状态

SELECT l.*, s.shortName
FROM laptops l JOIN states s
ON l.currentState = s.stateId

同上,使用WHERE代替JOIN

SELECT l.*, s.shortName
FROM laptops l, states s
WHERE l.currentState = s.stateId

显示最近 10 个请求

SELECT l.laptopId, l.brand, r.*, p.firstName, p.surName, s.shortName
FROM requests r, laptops l, people p, states s
WHERE r.performedBy = p.personId
AND r.laptop = l.laptopId
AND r.requestState = s.stateId
ORDER BY r.requestDate DESC
LIMIT 0,10

总而言之,一旦我们正确识别了我们的不同实体,我们就可以使用外键将它们链接在一起,并使用这些链接并通过从不同表中选择适当的列来编译我们需要的信息。

关于php - MySQL,链接数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com