joomla 2.5 模块从数据库中检索数据

Posted

技术标签:

【中文标题】joomla 2.5 模块从数据库中检索数据【英文标题】:joomla 2.5 module retrieve data from database 【发布时间】:2013-12-13 05:01:44 【问题描述】:

我想在我的模块页面中从数据库中检索数据。为此我的 helloworld.php 放置了代码

// Get a database object
$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select('id, description');
$query->from('#__banners');

// sets up a database query for later execution
$db->setQuery($query);

// fetch result as an object list
$result = $db->loadObjectList();

现在我想在 default.php 中显示结果。但是当在 default.php 中回显 $result 时,它不会显示任何内容。我如何显示结果?如何从 #__banners 表中获取数据?

【问题讨论】:

【参考方案1】:

$db->loadObjectList() 返回一个无法回显的数组。您可以像这样创建foreach 循环:

foreach ( $result as $row ) 
    echo $row->description;

【讨论】:

这段代码在哪里?在 $result = $db->loadObjectList(); 之后?或在 default.php 中? 您的数据库查询在哪里?在 helper.php 文件中或 default.php 中? 好好。如果这有助于解决您的问题,请接受答案 tnx 先生。请1分钟。通过这一行 $query->select('id, title');我们选择某行表格。我们如何通过一个代码选择表格的所有行?如果可能的话 $query->select('*');【参考方案2】:

您必须从view.html.php 中的模型方法加载结果。

view.html.php

function display($tpl = null) 
  $model = JModelLegacy::getInstance('ModelName', 'FrontendModel'); //(or BackendModel)
  $variable = $model->getNameOfModelMethod();

  $this->assignRef('variable', $variable);
 

在 default.php 中只需调用$this->variable

【讨论】:

以上是关于joomla 2.5 模块从数据库中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

在文章中提交 PHP 表单时出现 Joomla 2.5 404 错误

Joomla 2.5 MVC剖析

Joomla 2.5 在模块中显示联系人

Joomla 2.5 - 组件开发 - 使用表单

Joomla 2.5 从多语言系统上的 url 调用组件

试图找到在 Joomla 2.5 组件中提取数据库项目的最佳方法