我正在构建一个包含“面板”的站点,这些面板被用作各种信息的容器。我已经设置了它,所以面板是可编辑的,这对于只包含文本的面板来说很简单。为此,我只需从数据库中获取内容并将其包装在一个文本区域中,而不是一个<p>标记中。然而,对于包含表视图的面板来说,这是一项更困难的任务。
首先,我在允许站点管理员选择给定表中的信息时遇到了困难(例如,如果管理员希望添加一个面板视图,显示每个成员的名字、姓氏和他们可以从我的数据库中的列中选择的图片)。我想出了几种方法来解决这个问题,但每个方法都有各自的问题。
我尝试使用INFORMATION_SCHEMA表生成一个表,其中包含用户可以选择的表和列。但是,当涉及到使用PDO构建查询时,我遇到了问题。例如,对于准备好的语句,不能为模式使用变量。
我还考虑过使用MySQL视图,但我似乎也想不出如何做到这一点。
我的第二个问题是允许管理员直接将行添加到表中。现在,add行模板所做的就是在每个列中创建一个带有文本字段的行。这对于纯粹的文本选项(比如名字)是很好的,但是对于像图片这样的东西,一个文本字段显然是行不通的。我应该创建一个包含此元数据的表还是在PHP中执行检查?如果是后者,我如何知道该列需要什么样的输入类型?
我认为我的主要问题是,我试图用一个设计变更来解决太多的问题(或者一次不能专注于一个问题)。这导致我变得非常慌乱和困惑。我们非常感谢您的帮助,如果您还需要更多的信息,比如我的数据库表目前是如何设置的,我将提供一个ERD。
编辑:我只想明确表示,我不想让用户实际操作数据库中的表,而是从现有表中选择在给定面板上显示的信息。
发布于 2012-11-24 20:08:11
对用户自由查询数据库的能力进行编码有很多问题(包括安全性),而且比简单返回定义的信息集的预定义信息查询要复杂得多。
它也给用户带来了定义哪些信息可能有用的负担。它将决定某个信息是否应该被特定用户访问的负担放在查询逻辑和数据库访问规则上。
实际上,您正在尝试使用不同的设计复制PHPMyAdmin,并且只将定义的数据库作为目标。
https://stackoverflow.com/questions/13545036
复制相似问题