2

我正在构建一个包含“面板”的站点,这些“面板”用作各种信息的容器。我已将其设置为可编辑面板,这对于仅包含文本的面板来说很简单。为此,我只是从数据库中获取内容并将其包装在文本区域而不是<p>标签中。然而,对于包含表格视图的面板,这被证明是一项更困难的任务。

首先,我无法让网站管理员选择给定表格中的信息(例如,如果管理员想要添加一个面板视图,显示每个成员的名字、姓氏和他们可以从中选择的图片我的数据库中的列)。我想出了几种方法来做到这一点,但每种方法都有自己的问题。

我尝试使用 INFORMATION_SCHEMA 表来生成一个表,其中包含用户可以选择的可能的表和列。但是在使用 PDO 构建查询时,我遇到了问题。例如,对于准备好的语句,您不能将变量用于模式。

我也想过使用 MySQL 视图,但我似乎也不知道如何做到这一点。

我的第二个问题是允许管理员直接向表中添加行。现在所有添加行模板所做的就是在每列中创建一个带有文本字段的行。这对于纯文本选项(如名字)很有用,但对于图片之类的内容,显然文本字段不起作用。我应该创建一个包含此元数据的表还是在 PHP 中执行检查?如果是后者,我怎么知道列需要什么输入类型?

我认为我的主要问题是我试图仅通过一项设计更改(或一次不专注于一个问题)来解决太多事情。这导致我变得非常慌乱和困惑。非常感谢您的帮助,如果您需要更多信息,例如当前如何设置我的数据库表,我将提供 ERD。

编辑:我只是想明确一点,我不想让用户实际操作数据库中的表,而是选择现有表中的哪些信息显示在给定面板上。

4

1 回答 1

1

对用户自由查询数据库的能力进行编码有很多问题(包括安全性),并且比简单地返回一组定义的信息的预定义信息查询要复杂得多。

它还将定义哪些信息可能对用户有用的负担。它将决定特定用户是否可以访问特定信息的负担置于查询逻辑和数据库访问规则上。

实际上,您正在尝试使用不同的设计复制 PHPMyAdmin,并且仅将您定义的数据库作为目标。

于 2012-11-24T20:08:11.720 回答