代码之家  ›  专栏  ›  技术社区  ›  Anthony Gatlin

如何在Drupal中处理参数化查询?

  •  1
  • Anthony Gatlin  · 技术社区  · 15 年前

    我们有一个客户机,他目前正在使用lotusnotes/Domino作为他们的内容管理系统和web服务器。出于许多原因,我们建议他们将Notes/Domino实现和转换放在更现代的平台上,比如Drupal。

    形势

    应用程序不涉及数据输入。web应用程序从未修改任何后端数据。所有访问都完全基于查询数据和查看结果。

    查询的变化相对较少,目前的系统已经使用了大约10年。在给定的年份中,可能有10-20个查询添加、修改或其他更改。客户机只是希望更改表示平台,但绝对不希望重新执行100个数据库查询。

    一旦项目实施,客户希望他们的员工接管并管理未来的变更。客户的员工没有Drupal或PHP方面的背景,但有点愿意在必要时学习。

    你将如何把它转换成Drupal?我的主要知识是如何管理查询参数和访问查询本身。这里有一些具体的问题,但请随意插话讨论与此实现相关的任何问题。

    1. 我们是否需要手工构建100个表单——每个表单都包含给定查询的参数?如果是这样,我们怎么做?
    2. 有没有比手动构建100个表单更好的方法(我理解使用CCK将数据输入到自定义内容类型中,但由于我们没有添加任何节点,因此我对这可能的工作方式有点困惑。)
    3. 内部员工是否有可能学习创建这些查询参数表单——即使他们现在不熟悉Drupal?他们会被要求做任何PHP编程吗?
    4. 我们如何从表单中获取查询参数并对DB2执行查询?这需要定制模块吗?如果是这样的话,它需要一个模块总数还是每个查询一个模块(注意:显然有一个DB2驱动程序可用于Drupal。看到了吗 http://groups.drupal.org/node/5511

    你能提供的任何帮助都会很有帮助。提前感谢您的帮助!

    3 回复  |  直到 15 年前
        1
  •  1
  •   Simon Quentin    15 年前

    看一看这个 Data 模块-它可能会让你朝着一个解决方案走很远的路。

    您可能遇到的最大问题是通过Drupal连接到DB2服务器,因为它的DBA层不支持没有补丁的DB2服务器(正如您所发现的)。

        2
  •  0
  •   draenen    15 年前

    我想到了几件事。 你可以用 Table Wizard 将任何自定义表公开给 views

    如果您确实需要为高级查询编写自己的表单,请查看 Drupal Form API 这使得创建定制php成为了一块蛋糕。

    视图非常容易学习,而且根据我的经验,大多数客户很快就能学会。这实际上取决于查询的复杂性。

    FormAPI对于开发人员来说应该很容易掌握,但是需要具备php和编写Drupal代码的基本知识。

        3
  •  0
  •   Kevin    15 年前

    Lotus是否提供了一个web服务来查询它?如果是这样,您可以使用自定义表单(在您自己的模块中)轻松地执行此操作,并使用服务模块查询数据。