【发布时间】:2014-07-06 10:07:28
【问题描述】:
我正在制作一个医疗软件,但我被困在了一个点上。我必须创建一个报告部分,用户将在其中填写患者的报告。主要问题是因为字段/列是可变的(更少/更多)。假设我在血液测试中填写表格,列选项不同,X 射线列也不同。
我已经创建了一个数据库,因此它将存储该测试 ID 和患者 ID 的选项值
CREATE TABLE IF NOT EXISTS `mp_tests_options` (
`test_optn_id` int(11) NOT NULL AUTO_INCREMENT,
`optn_test_id` int(11) NOT NULL,
`optn_patient_id` int(11) NOT NULL,
`test_optn_name` varchar(255) NOT NULL,
`test_optn_value` LONGTEXT DEFAULT NULL,
`test_optn_def_value` LONGTEXT DEFAULT NULL,
PRIMARY KEY (`test_optn_id`),
INDEX (`optn_test_id`),
INDEX (`optn_patient_id`),
FOREIGN KEY (optn_test_id) REFERENCES mp_tests(test_id)
ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
但是我如何通过适当的验证为用户制作前端。我不想单独编写每个表单。
感谢您的宝贵时间。
【问题讨论】:
-
我认为动态添加和删除列是非常糟糕的主意。为什么不创建对具有不同字段作为行的另一个表的引用?