我正在制作医疗软件,而且我陷入困境。我必须制作一个报告部分,用户将填写患者的报告。主要问题是因为字段/列是可变的(更少/更多)。如果我在血液测试中填写表格,列选项是不同的,并且对于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;
但是如何通过适当的验证为用户制作前端。我不想单独写每个表格。
感谢您的时间。
答案 0 :(得分:0)
为您想要的每种表单创建一个单独的表,以了解哪些列。
_______________________________________________
| formName | fields |
|-----------------------------------------------|
| x-ray |field1,field2,field3,field4 |
|-----------------------------------------------|
| bloodtest |field1,field2,field3,field4 |
|_______________________________________________|
然后使用explode()将其转换为数组。 还要创建一个表,其中包含每个表单名称的可能字段。 只需在不需要的字段中插入空白即可。