PHP和MySQL查询过滤

时间:2013-01-22 19:48:30

标签: php mysql

我在一家小型生物技术公司工作,我们将大量数据存储在Google Docs电子表格中。这对很多事情来说都很好,但是对于某些类型的信息(我们有库存的细胞系以及它们所在的冷冻瓶和盒子),它确实不是最好的格式。我已经自学了一些MySQL和PHP,并设法创建一个存储相关信息的基本数据库和一个能够显示它的简单Web界面。当然有用它需要某种类型的过滤/搜索功能,这就是我有点困惑的地方。

对于任何给定的搜索,我知道如何为它编写MySQL查询,以及如何从包含用户将提供的过滤器的字段/谓词/值元组中获取它,但我不是也确定应该在什么级别进行过滤。现在我基本上在数据库中为每个“表”设置了一个视图,该视图将呈现给用户(视图是必要的,因为呈现给用户的信息来自多个数据库表并且执行了一个或多个连接)。然后,我有一个PHP对象,它将在给定数据库和视图名称的情况下创建基本查询,如果需要,附加WHILE子句和所有过滤内容(例如,将“WHERE box_number =?”附加到预准备语句,并将数字211存储在当我调用execute函数时要传递的数组),然后运行查询并将结果显示为HTML表。我计划扩展对象以将特定功能构建到不同的表中,例如将box number字段作为超链接,将您带到显示冷冻箱内容的页面时单击它。

我过去几周只学习过PHP和数据库,所以我不确定这是否是实现这一目标的最佳方法。我的室友在思科做了这样的事情,他建议使用存储过程是一个更好的选择。我一直在研究这个问题,但我不确定是否可以将存储过程传递给任意数量的参数,就像我需要实现过滤一样。我也看到一些消息来源说最好只是获取整个表/视图并在PHP中进行过滤。

那么,是否有“标准”或“最佳”方式来实现这一目标?这个项目对于这个项目来说不是很大,最有可能是数百个条目。因此,性能并不是真正的问题。大多数情况下,我只需要一种方法,其中一切都非常灵活,如果数据库结构发生变化,可以很容易地更新(可能会在将来为大多数表添加更多列/字段)。我可以使用这些方法中的任何一种方法,但我想知道哪种方法最适合我的情况,所以我最后不需要再做一切。

0 个答案:

没有答案