【问题标题】:Joomla database query in article文章中的Joomla数据库查询
【发布时间】:2014-02-25 12:46:20
【问题描述】:

这似乎是一件很容易做到的事情,但我无法提供有关如何做到这一点的任何信息。有人可以告诉我如何将查询结果添加到 Joomla 2.5 中的文章中吗?

在一篇文章中,这就是我想要实现的目标。

Bob 最喜欢的颜色是:<<SELECT favorite_color FROM COLORS WHERE name = 'Bob'>>

我不知道该怎么做。

【问题讨论】:

    标签: joomla article


    【解决方案1】:

    首先,下载并安装Sourcerer 插件,该插件可让您在文章中添加自定义代码。

    完成后,打开您的文章并单击文本区域下方的“添加代码”按钮。您可以在此处添加自定义代码。

    我将使用大多数人似乎忘记的 Joomla 编码标准或多或少地编写您想要的查询:

    $db = JFactory::getDbo();
    
    $query = $db->getQuery(true);
    $query->select($db->quoteName(array('favorite_color')))
          ->from($db->quoteName('colors'))
          ->where($db->quoteName('name') . ' = '. $db->quote('bob'));
    $db->setQuery($query);
    $rows = $db->loadObjectList();
    
    foreach ($rows as $row) {
        echo $row->favorite_color;
    }
    

    请注意,如果colors 表属于 Joomla 扩展,则使用 #__colors

    希望对你有帮助

    【讨论】:

    • 洛德,谢谢您的回复。我在搜索的早期发现了这个扩展,不幸的是它需要 PHP 5.3 而我有 5.2.17。
    • 这里是适用于 PHP 5.2 的旧版扩展的下载链接;:download.nonumber.nl/?ext=sourcerer&v=3.1.0 ...享受:)
    • 谢谢!我越来越近了。我已经安装了 sourcerer,并且我在我的文章中提到了我希望显示结果的地方。我单击了插入代码 按钮并添加了您在 PHP 部分中提供的代码。现在我的页面显示代码而不是结果。此外,我的查询将始终返回一个值。我如何实际显示结果?
    • 这是我页面上显示的内容: getQuery(true); $query->select($db->quoteName(array('favorite_color'))) ->from($db->quoteName('colors')) ->where($db->quoteName('name') 。 ' = '.$db->quote('bob')); $db->setQuery($query); $rows = $db->loadObjectList(); foreach ($rows as $row) { //在此处显示结果 } ?>
    • 抱歉格式化,我不知道如何插入代码!
    【解决方案2】:

    您可以制作内容插件。另一件事是您可以制作一个模块来显示数据,然后使用 loadposition 来加载模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多