【发布时间】:2011-12-11 03:26:53
【问题描述】:
我的问题: 我有一个 mysql 数据库,它由一个事实表(尽管不是每个字段都是一个查找)和各种其他表组成。当我想显示该“事实”表中的数据时,是否有必要对每个单独的查找运行查询或是否有办法制作一个已经完成“查找”的临时表?
示例: 表结构 -
- unique_id(自动增量 int),
- 模型(int,查找表#2),
- type(int, 从表 #2 到表 #3 查找)
- 员工(int,查找表 #4)
- 笔记(文字)
- 成本(浮动)
- 小时(浮点数) -
因此,例如,当我想创建一个 php 页面来输入这些数据时,它似乎比需要做的“工作”要多得多:
unique_id(未显示为数据输入字段,自动递增 提交时)
模型(下拉框。人口需要查询表 #2,其中状态 = X)
type(只读文本框显示模型的类型。需要根据表 #2 中的列查询表 #3)
员工(下拉框。人口需要查询表 #4,其中employee_status = "Active")
备注(文本框,用户输入相关备注以提交)
成本(文本框,用户输入与提交相关的成本)
小时(文本框,用户输入与提交相关的小时数)
仅仅为了获得一个包含有效数据的简单表单,就需要在我看来很多查询/查找。
这是最好的方法吗?有没有更好的办法?
另外:我可以控制数据结构,所以如果问题是数据库设计,那么这些建议也会有所帮助。
【问题讨论】:
-
似乎下拉框正在被自动完成输入数据的文本字段所取代,就像您在 FB 和 google 上看到的那样。
-
弗兰克说得好。我可以将这些下拉框更改为自动完成的 txt 框。我过去曾将它们用于其他一些事情。但是,这仍然不能解决查找问题。即使我自动完成,我仍然需要查找下一个关联值来填充“只读”字段。除非我在这里遗漏了什么?
-
另外,使用文本框 approack,您将进行 ajax 调用以分离 php 脚本。想一想,即使使用下拉列表,您也可能会这样做。
标签: php mysql database-design