如何在视图中显示Codeigniter中的adodb数据?
我在codeigniter中的模型中有以下代码:如何在视图中显示Codeigniter中的adodb数据?,codeigniter,adodb,Codeigniter,Adodb,我在codeigniter中的模型中有以下代码: <?php class User_model extends Model { function User_model() { parent::Model(); } function get_data() { $pages = false; // Get the pages from the database using adodb if needed
<?php
class User_model extends Model {
function User_model()
{
parent::Model();
}
function get_data()
{
$pages = false;
// Get the pages from the database using adodb if needed
$this->adodb->connect();
$recordSet = $this->adodb->execute('SELECT id, genreID, artist, albumName FROM album' );
if ( ! $recordSet )
{
log_message( 'error', 'Error connecting to the database' );
log_message( 'debug', $this->adodb->getErrorMsg());
}
else
{
unset( $this->pages );
while (!$recordSet->EOF)
{
$pages[] = array(
'id' => $recordSet->fields[0],
'genreID' => $recordSet->fields[1],
'artist' => $recordSet->fields[2],
'albumName' => $recordSet->fields[3]
);
$recordSet->MoveNext();
}
$this->pages = $pages;
}
$this->adodb->disconnect();
}
}
?>
我的控制器中有:
<?php
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
}
function index()
{
//
$this->load->model('User_model');
$data['query'] = $this->User_model->get_data();
$this->load->view('welcome_message',$data);
}
}
给我一个错误
我应该在视图中放置什么来获取模型的查询结果。我知道这个模型可以工作,因为我可以回显$recordSet->fields[3];从模型中选择并查看相册名称
谢谢你的帮助
编辑:我不明白为什么我的视图中的get\u data()调用什么都不返回。对于其中一个,您没有从get\u data返回任何内容,这将导致$query为空。此外,您不应该在视图中执行查询,因为视图内容不应该处理数据层操作,另外,您已经断开了与数据库的连接。我正在复制此处底部的家伙,我以为我是按照活动记录模式从控制器调用查询的,但我不知道为什么get\u data什么也不返回。我输入了return$recordSet,但get\u data在视图中什么也不返回。数据仅存在于模型中。您不需要使用$query->results(),您是否尝试过类似于在记录集上的模型中进行的迭代?请注意,模型不返回值的原因是实现者在模型的属性($this->pages)上设置了值,您可能可以访问它$this->User\u model->pages,但通常我不会向模型添加属性。
<?php foreach($query->result() as $row): ?>
<p>
<?=$row->albumName;?>
</p>
<?php endforeach; ?>