php - print_r()包含一组数据

时间:2012-11-28 16:03:37

标签: php joomla joomla-extensions

在Joomla工作,我设置了我的模型和视图,但是当加载页面时,没有数据出现。

型号:

class mlsModelmls extends JModel
{
/**
 * Gets the info
 */
function mlsdata($column)
    {
    $db =& JFactory::getDBO();
    $query = "
      SELECT *
        FROM ".$db->nameQuote('#__mls')."
        WHERE ".$db->nameQuote('MSTMLSNO')." = ".$db->quote('4112065').";
    ";
    $db->setQuery($query);
    $row = $db->loadRow();
    print_r($row[$column]);
    }
}

查看:

class mlsViewmls extends JView
{
function mlsnum($tpl = null)
    {
    $model = &$this->getModel();
    $mlsnum = $model->mlsdata(MSTMLSNO);
    $this->assignRef( 'mlsnum', $mlsnum );

    $agentuid = $model->mlsdata(MSTLISTBRD);        
    $this->assignRef( 'agentuid', $agentuid );

    $listdt = $model->mlsdata(MSTLISTDT);       
    $this->assignRef( 'listdt', $listdt );

          /** Some more assignRef() */

    parent::display($tpl);
    }
}

TMPL:

<h2 class="price">
    <?php echo $this->mlsnum; ?>
</h2>

加载页面时,TMPL看起来很好,但<?php echo $this->mlsnum; ?>引用调用没有数据显示。

每个assignRef()是否需要它自己的功能?

3 个答案:

答案 0 :(得分:3)

尝试更改

print_r($row[$column]);

到此:

return $row[$column];

这一个

parent::display($tpl);

return parent::display($tpl);

否则它只是没有结果。

答案 1 :(得分:1)

您的mlsdata()方法没有返回任何内容,因此您不会为模板变量分配任何内容。

添加return $row并移除print_r

答案 2 :(得分:0)

尝试将模型功能更改为:

function mlsdata($column) {

    $db =& JFactory::getDBO();
    $query = " SELECT * FROM ".$db->nameQuote('#__mls')." WHERE ".$db->nameQuote('MSTMLSNO')." = ".$db->quote('4112065').";

    $db->setQuery($query);
    $row = $db->loadRow();

    return $row;
}